SearchResult

SearchResult class

Αντιπροσωπεύει ένα αποτέλεσμα αναζήτησης που ταιριάζει με ένα ερώτημα αναζήτησης.

public class SearchResult : IEnumerable<FoundDocument>

Ιδιότητες

Ονομα Περιγραφή
DocumentCount { get; } Λαμβάνει τον αριθμό των εγγράφων που βρέθηκαν.
EndTime { get; } Λαμβάνει την ώρα λήξης της αναζήτησης.
NextChunkSearchToken { get; } Λαμβάνει ένα διακριτικό αναζήτησης κομματιού για την αναζήτηση του επόμενου κομματιού.
OccurrenceCount { get; } Λαμβάνει τον συνολικό αριθμό των εμφανίσεων που βρέθηκαν.
SearchDuration { get; } Λαμβάνει τη διάρκεια αναζήτησης.
StartTime { get; } Λαμβάνει την ώρα έναρξης της αναζήτησης.
Truncated { get; } Λαμβάνει μια τιμή που υποδεικνύει ότι το αποτέλεσμα είναι περικομμένο.
Warnings { get; } Λαμβάνει μια προειδοποίηση που περιγράφει το αποτέλεσμα.

Μέθοδοι

Ονομα Περιγραφή
GetEnumerator() Επιστρέφει έναν απαριθμητή που επαναλαμβάνει τη συλλογή των εγγράφων που βρέθηκαν.
GetFoundDocument(int) Λαμβάνει το έγγραφο που βρέθηκε κατά ευρετήριο.

Παρατηρήσεις

Μάθε περισσότερα

Παραδείγματα

Το παράδειγμα δείχνει μια τυπική χρήση της κλάσης.

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

// Δημιουργία ευρετηρίου
Index index = new Index(indexFolder);

// Δημιουργία ευρετηρίου εγγράφων από τον καθορισμένο φάκελο
index.Add(documentFolder);

// Ρύθμιση επιλογών αναζήτησης
SearchOptions options = new SearchOptions();
options.FuzzySearch.Enabled = true; // Ενεργοποίηση της ασαφούς αναζήτησης
options.FuzzySearch.FuzzyAlgorithm = new TableDiscreteFunction(3); // Ορισμός του μέγιστου αριθμού διαφορών σε 3

// Αναζήτηση για έγγραφα που περιέχουν τη λέξη «Αϊνστάιν» ή τη φράση «Θεωρία της Σχετικότητας»
SearchResult result = index.Search("Einstein OR \"Theory of Relativity\"", options);

// Εκτύπωση του αποτελέσματος
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);
        // Εκτύπωση όρων που βρέθηκαν
        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]);
            }
        }
        // Εκτύπωση φράσεων που βρέθηκαν
        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]);
            }
        }
    }
}

Δείτε επίσης