SearchResult

SearchResult class

Merupakan hasil pencarian yang cocok dengan permintaan pencarian.

public class SearchResult : IEnumerable<FoundDocument>

Properti

Nama Keterangan
DocumentCount { get; } Mendapat jumlah dokumen yang ditemukan.
EndTime { get; } Mendapatkan waktu akhir pencarian.
NextChunkSearchToken { get; } Mendapat token pencarian potongan untuk mencari potongan berikutnya.
OccurrenceCount { get; } Mendapat jumlah total kemunculan yang ditemukan.
SearchDuration { get; } Mendapatkan durasi pencarian.
StartTime { get; } Mendapatkan waktu mulai pencarian.
Truncated { get; } Mendapat nilai yang menunjukkan bahwa hasil terpotong.
Warnings { get; } Mendapat peringatan yang menjelaskan hasilnya.

Metode

Nama Keterangan
GetEnumerator() Mengembalikan pencacah yang mengulang melalui kumpulan dokumen yang ditemukan.
GetFoundDocument(int) Mendapat dokumen yang ditemukan berdasarkan indeks.

Perkataan

Belajarlah lagi

Contoh

Contoh ini menunjukkan penggunaan umum kelas.

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

// Membuat indeks
Index index = new Index(indexFolder);

// Pengindeksan dokumen dari folder yang ditentukan
index.Add(documentFolder);

// Mengatur opsi pencarian
SearchOptions options = new SearchOptions();
options.FuzzySearch.Enabled = true; // Mengaktifkan pencarian kabur
options.FuzzySearch.FuzzyAlgorithm = new TableDiscreteFunction(3); // Mengatur jumlah perbedaan maksimum menjadi 3

// Cari dokumen yang mengandung kata 'Einstein' atau frase 'Teori Relativitas'
SearchResult result = index.Search("Einstein OR \"Theory of Relativity\"", options);

// Mencetak hasilnya
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);
        // Mencetak istilah yang ditemukan
        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]);
            }
        }
        // Mencetak frasa yang ditemukan
        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]);
            }
        }
    }
}

Lihat juga