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]);
            }
        }
    }
}

أنظر أيضا