IFieldExtractor

IFieldExtractor interface

Biedt methoden voor het extraheren van velden uit een document.

public interface IFieldExtractor

Eigenschappen

Naam Beschrijving
Extensions { get; } Haalt de ondersteunde extensies op.

methoden

Naam Beschrijving
GetFields(Stream) Haalt alle velden uit het gespecificeerde document.
GetFields(string) Haalt alle velden uit het gespecificeerde document.

Opmerkingen

Kom meer te weten

Voorbeelden

Het voorbeeld laat zien hoe de interface moet worden geïmplementeerdIFieldExtractor .

public class LogExtractor : IFieldExtractor
{
    private readonly string[] extensions = new string[] { ".log" };

    public string[] Extensions
    {
        get { return extensions; }
    }

    public DocumentField[] GetFields(string filePath)
    {
        FileInfo fileInfo = new FileInfo(filePath);
        DocumentField[] fields = new DocumentField[]
        {
            new DocumentField("FileName", fileInfo.FullName),
            new DocumentField("CreationDate", fileInfo.CreationTime.ToString(CultureInfo.InvariantCulture)),
            new DocumentField("Content", ExtractContent(filePath)),
        };
        return fields;
    }

    private string ExtractContent(string filePath)
    {
        StringBuilder result = new StringBuilder();
        using (StreamReader streamReader = File.OpenText(filePath))
        {
            string line = streamReader.ReadLine();
            string processedLine = line.Remove(0, 12);
            result.AppendLine(processedLine);
        }
        return result.ToString();
    }
}

Het voorbeeld laat zien hoe u de custorm-extractor gebruikt voor indexering.

string indexFolder = @"c:\MyIndex\"; // Specificeer het pad naar de indexmap
string documentsFolder = @"c:\MyDocuments\"; // Specificeer het pad naar een map met documenten om te zoeken

Index index = new Index(indexFolder); // Een index maken of laden

index.IndexSettings.CustomExtractors.Add(new LogExtractor()); // Aangepaste tekstextractor toevoegen aan indexinstellingen

index.Add(documentsFolder); // Documenten uit de opgegeven map indexeren

Zie ook