IFieldExtractor

IFieldExtractor interface

Stellt Methoden zum Extrahieren von Feldern aus einem Dokument bereit.

public interface IFieldExtractor

Eigenschaften

Name Beschreibung
Extensions { get; } Ruft die unterstützten Erweiterungen ab.

Methoden

Name Beschreibung
GetFields(Stream) Extrahiert alle Felder aus dem angegebenen Dokument.
GetFields(string) Extrahiert alle Felder aus dem angegebenen Dokument.

Bemerkungen

Erfahren Sie mehr

Beispiele

Das Beispiel demonstriert die Implementierung der SchnittstelleIFieldExtractor .

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();
    }
}

Das Beispiel zeigt, wie der Custorm-Extraktor für die Indizierung verwendet wird.

string indexFolder = @"c:\MyIndex\"; // Pfad zum Indexordner angeben
string documentsFolder = @"c:\MyDocuments\"; // Geben Sie den Pfad zu einem Ordner an, der zu durchsuchende Dokumente enthält

Index index = new Index(indexFolder); // Index erstellen oder laden

index.IndexSettings.CustomExtractors.Add(new LogExtractor()); // Hinzufügen eines benutzerdefinierten Textextraktors zu den Indexeinstellungen

index.Add(documentsFolder); // Indizierung von Dokumenten aus dem angegebenen Ordner

Siehe auch