SearchResult

SearchResult class

Vertegenwoordigt een zoekresultaat dat overeenkomt met een zoekopdracht.

public class SearchResult : IEnumerable<FoundDocument>

Eigenschappen

Naam Beschrijving
DocumentCount { get; } Haalt het aantal gevonden documenten op.
EndTime { get; } Haalt de eindtijd van de zoekopdracht op.
NextChunkSearchToken { get; } Krijgt een blokzoektoken voor het doorzoeken van het volgende blok.
OccurrenceCount { get; } Haalt het totale aantal gevonden exemplaren op.
SearchDuration { get; } Haalt de zoekduur op.
StartTime { get; } Krijgt de starttijd van de zoekopdracht.
Truncated { get; } Krijgt een waarde die aangeeft dat het resultaat is afgekapt.
Warnings { get; } Krijgt een waarschuwing die het resultaat beschrijft.

methoden

Naam Beschrijving
GetEnumerator() Retourneert een teller die de verzameling van de gevonden documenten herhaalt.
GetFoundDocument(int) Haalt het gevonden document op index.

Opmerkingen

Kom meer te weten

Voorbeelden

Het voorbeeld demonstreert een typisch gebruik van de klasse.

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

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

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

// Zoekopties instellen
SearchOptions options = new SearchOptions();
options.FuzzySearch.Enabled = true; // De fuzzy search inschakelen
options.FuzzySearch.FuzzyAlgorithm = new TableDiscreteFunction(3); // Het maximale aantal verschillen instellen op 3

// Zoek naar documenten die het woord 'Einstein' of de zin 'Relativiteitstheorie' bevatten
SearchResult result = index.Search("Einstein OR \"Theory of Relativity\"", options);

// Afdrukken van het resultaat
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);
        // Gevonden termen afdrukken
        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]);
            }
        }
        // Gevonden zinnen afdrukken
        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]);
            }
        }
    }
}

Zie ook