SearchResult

SearchResult class

Representerar ett sökresultat som matchar en sökfråga.

public class SearchResult : IEnumerable<FoundDocument>

Egenskaper

namn Beskrivning
DocumentCount { get; } Hämtar antalet hittade dokument.
EndTime { get; } Hämtar sluttiden för sökningen.
NextChunkSearchToken { get; } Får en bitsökningstoken för att söka efter nästa bit.
OccurrenceCount { get; } Hämtar det totala antalet hittade förekomster.
SearchDuration { get; } Hämtar söklängden.
StartTime { get; } Hämtar starttiden för sökningen.
Truncated { get; } Får ett värde som indikerar att resultatet är trunkerat.
Warnings { get; } Får en varning som beskriver resultatet.

Metoder

namn Beskrivning
GetEnumerator() Returnerar en uppräkning som itererar genom samlingen av de hittade dokumenten.
GetFoundDocument(int) Hämtar det hittade dokumentet efter index.

Anmärkningar

Läs mer

Exempel

Exemplet visar en typisk användning av klassen.

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

// Skapa ett index
Index index = new Index(indexFolder);

// Indexering av dokument från den angivna mappen
index.Add(documentFolder);

// Ställa in sökalternativ
SearchOptions options = new SearchOptions();
options.FuzzySearch.Enabled = true; // Aktiverar den otydliga sökningen
options.FuzzySearch.FuzzyAlgorithm = new TableDiscreteFunction(3); // Ställer in det maximala antalet skillnader till 3

// Sök efter dokument som innehåller ordet 'Einstein' eller frasen 'relativitetsteori'
SearchResult result = index.Search("Einstein OR \"Theory of Relativity\"", options);

// Skriver ut resultatet
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);
        // Skriver ut hittade termer
        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]);
            }
        }
        // Skriver ut hittade fraser
        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]);
            }
        }
    }
}

Se även