SearchResult

SearchResult class

Représente un résultat de recherche correspondant à une requête de recherche.

public class SearchResult : IEnumerable<FoundDocument>

Propriétés

Nom La description
DocumentCount { get; } Obtient le nombre de documents trouvés.
EndTime { get; } Obtient l’heure de fin de la recherche.
NextChunkSearchToken { get; } Obtient un jeton de recherche de bloc pour rechercher le bloc suivant.
OccurrenceCount { get; } Obtient le nombre total d’occurrences trouvées.
SearchDuration { get; } Obtient la durée de la recherche.
StartTime { get; } Obtient l’heure de début de la recherche.
Truncated { get; } Obtient une valeur indiquant que le résultat est tronqué.
Warnings { get; } Obtient un avertissement décrivant le résultat.

Méthodes

Nom La description
GetEnumerator() Renvoie un énumérateur qui parcourt la collection des documents trouvés.
GetFoundDocument(int) Obtient le document trouvé par index.

Remarques

Apprendre encore plus

Exemples

L’exemple montre une utilisation typique de la classe.

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

// Création d'un index
Index index = new Index(indexFolder);

// Indexation des documents du dossier spécifié
index.Add(documentFolder);

// Paramétrage des options de recherche
SearchOptions options = new SearchOptions();
options.FuzzySearch.Enabled = true; // Activation de la recherche floue
options.FuzzySearch.FuzzyAlgorithm = new TableDiscreteFunction(3); // Fixation du nombre maximum de différences à 3

// Recherche de documents contenant le mot 'Einstein' ou l'expression 'Théorie de la relativité'
SearchResult result = index.Search("Einstein OR \"Theory of Relativity\"", options);

// Impression du résultat
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);
        // Impression des termes trouvés
        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]);
            }
        }
        // Impression des phrases trouvées
        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]);
            }
        }
    }
}

Voir également