SearchResult

SearchResult class

Stellt ein Suchergebnis dar, das einer Suchanfrage entspricht.

public class SearchResult : IEnumerable<FoundDocument>

Eigenschaften

Name Beschreibung
DocumentCount { get; } Ruft die Anzahl der gefundenen Dokumente ab.
EndTime { get; } Ruft die Endzeit der Suche ab.
NextChunkSearchToken { get; } Ruft ein Chunk-Suchtoken für die Suche nach dem nächsten Chunk ab.
OccurrenceCount { get; } Ruft die Gesamtzahl der gefundenen Vorkommen ab.
SearchDuration { get; } Ruft die Suchdauer ab.
StartTime { get; } Ruft die Startzeit der Suche ab.
Truncated { get; } Ruft einen Wert ab, der angibt, dass das Ergebnis abgeschnitten wird.
Warnings { get; } Ruft eine Warnung ab, die das Ergebnis beschreibt.

Methoden

Name Beschreibung
GetEnumerator() Gibt einen Enumerator zurück, der die Sammlung der gefundenen Dokumente durchläuft.
GetFoundDocument(int) Ruft das gefundene Dokument nach Index ab.

Bemerkungen

Erfahren Sie mehr

Beispiele

Das Beispiel zeigt eine typische Verwendung der Klasse.

string indexFolder = @"c:\MyIndex\";
string documentFolder = @"c:\MyDocuments\";

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

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

// Suchoptionen festlegen
SearchOptions options = new SearchOptions();
options.FuzzySearch.Enabled = true; // Fuzzy-Suche aktivieren
options.FuzzySearch.FuzzyAlgorithm = new TableDiscreteFunction(3); // Festlegen der maximalen Anzahl von Unterschieden auf 3

// Suche nach Dokumenten, die das Wort „Einstein“ oder den Ausdruck „Relativitätstheorie“ enthalten
SearchResult result = index.Search("Einstein OR \"Theory of Relativity\"", options);

// Ergebnis drucken
Console.WriteLine("Documents: " + result.DocumentCount);
Console.WriteLine("Total occurrences: " + result.OccurrenceCount);
for (int i = 0; i < result.DocumentCount; i++)
{
    FoundDocument document = result.GetFoundDocument(i);
    Console.WriteLine("\tDocument: " + document.DocumentInfo.FilePath);
    Console.WriteLine("\tOccurrences: " + document.OccurrenceCount);
    for (int j = 0; j < document.FoundFields.Length; j++)
    {
        FoundDocumentField field = document.FoundFields[j];
        Console.WriteLine("\t\tField: " + field.FieldName);
        Console.WriteLine("\t\tOccurrences: " + document.OccurrenceCount);
        // Gefundene Begriffe drucken
        if (field.Terms != null)
        {
            for (int k = 0; k < field.Terms.Length; k++)
            {
                Console.WriteLine("\t\t\t" + field.Terms[k].PadRight(20) + field.TermsOccurrences[k]);
            }
        }
        // Gefundene Phrasen drucken
        if (field.TermSequences != null)
        {
            for (int k = 0; k < field.TermSequences.Length; k++)
            {
                string sequence = string.Join(" ", field.TermSequences[k]);
                Console.WriteLine("\t\t\t" + sequence.PadRight(30) + field.TermSequencesOccurrences[k]);
            }
        }
    }
}

Siehe auch