SearchQuery

SearchQuery class

يمثل استعلام بحث في شكل كائن.

public abstract class SearchQuery

الخصائص

اسم وصف
virtual ChildCount { get; } الحصول على عدد الاستعلامات الفرعية .
virtual FieldName { get; } يحصل على اسم الحقل .
virtual FirstChild { get; } الحصول على أول استعلام فرعي .
SearchOptions { get; set; } الحصول على أو تعيين خيارات البحث لاستعلام البحث هذا.
virtual SecondChild { get; } الحصول على الاستعلام الفرعي الثاني .

طُرق

اسم وصف
static CreateAndQuery(SearchQuery, SearchQuery) ينشئ استعلامًا مجمعًا يبحث فقط عن المستندات التي سيتم العثور عليها لكل استعلام أصلي.
static CreateDateRangeQuery(DateTime, DateTime) إنشاء استعلام عن نطاق تاريخ .
static CreateFieldQuery(string, SearchQuery) إضافة حقل إلى الاستعلام المحدد.
static CreateNotQuery(SearchQuery) ينشئ استعلامًا مقلوبًا يعثر على باقي المستندات في فهرس مقابل المستندات التي سيتم العثور عليها للاستعلام الأصلي.
static CreateNumericRangeQuery(long, long) لإنشاء استعلام نطاق رقمي .
static CreateOrQuery(SearchQuery, SearchQuery) ينشئ استعلامًا مجمعًا يبحث عن جميع المستندات التي سيتم العثور عليها على الأقل لواحد من الاستعلامات الأصلية.
static CreatePhraseSearchQuery(params SearchQuery[]) لإنشاء استعلام بحث بالعبارة .
static CreateRegexQuery(string) إنشاء استعلام تعبير عادي .
static CreateRegexQuery(string, RegexOptions) إنشاء استعلام تعبير عادي .
static CreateWildcardQuery(int) لإنشاء حرف بدل للبحث بالعبارة .
static CreateWildcardQuery(int, int) لإنشاء حرف بدل للبحث بالعبارة .
static CreateWordPatternQuery(WordPattern) إنشاء استعلام عن نمط كلمة .
static CreateWordQuery(string) لإنشاء استعلام كلمة بسيط .
abstract GetChild(int) الحصول على استعلام فرعي بواسطة فهرس .
abstract ToString() إرجاع أString التي تمثل التيارSearchQuery المثال.

ملاحظات

يتعلم أكثر

أمثلة

يوضح المثال استخدامًا نموذجيًا للفئة.

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

Index index = new Index(indexFolder); // إنشاء الفهرس في المجلد المحدد
index.Add(documentsFolder); // فهرسة المستندات من المجلد المحدد

// إنشاء استعلام فرعي للبحث في النطاق الزمني
SearchQuery subquery1 = SearchQuery.CreateDateRangeQuery(new DateTime(2011, 6, 17), new DateTime(2013, 1, 1));

// إنشاء استعلام فرعي لحرف البدل بعدد الكلمات المفقودة من 0 إلى 2
SearchQuery subquery2 = SearchQuery.CreateWildcardQuery(0, 2);

// إنشاء استعلام فرعي من كلمة بسيطة
SearchQuery subquery3 = SearchQuery.CreateWordQuery("birth");
subquery3.SearchOptions = new SearchOptions(); // تعيين خيارات البحث للاستعلام الفرعي فقط 3
subquery3.SearchOptions.FuzzySearch.Enabled = true;
subquery3.SearchOptions.FuzzySearch.FuzzyAlgorithm = new TableDiscreteFunction(1);

// دمج الاستعلامات الفرعية في استعلام واحد
SearchQuery query = SearchQuery.CreatePhraseSearchQuery(subquery1, subquery2, subquery3);

// إنشاء كائن خيارات البحث بقدرة متزايدة على التكرارات التي تم العثور عليها
SearchOptions options = new SearchOptions(); // خيارات البحث الشاملة
options.MaxOccurrenceCountPerTerm = 1000000;
options.MaxTotalOccurrenceCount = 10000000;

SearchResult result = index.Search(query, options); // يبحث

أنظر أيضا