SearchQuery

SearchQuery class

Nesne biçimindeki bir arama sorgusunu temsil eder.

public abstract class SearchQuery

Özellikleri

İsim Tanım
virtual ChildCount { get; } Alt sorguların sayısını alır.
virtual FieldName { get; } Alan adını alır.
virtual FirstChild { get; } İlk alt sorguyu alır.
SearchOptions { get; set; } Bu arama sorgusunun arama seçeneklerini alır veya ayarlar.
virtual SecondChild { get; } İkinci alt sorguyu alır.

yöntemler

İsim Tanım
static CreateAndQuery(SearchQuery, SearchQuery) Yalnızca her orijinal sorgu için bulunabilecek belgeleri bulan birleşik bir sorgu oluşturur.
static CreateDateRangeQuery(DateTime, DateTime) Bir tarih aralığı sorgusu oluşturur.
static CreateFieldQuery(string, SearchQuery) Belirtilen sorguya bir alan ekler.
static CreateNotQuery(SearchQuery) Orijinal sorgu için bulunacak olanlara karşı bir dizindeki geri kalan belgeleri bulan tersine çevrilmiş bir sorgu oluşturur.
static CreateNumericRangeQuery(long, long) Sayısal bir aralık sorgusu oluşturur.
static CreateOrQuery(SearchQuery, SearchQuery) Orijinal sorgulardan en az biri için bulunacak tüm belgeleri bulan birleşik bir sorgu oluşturur.
static CreatePhraseSearchQuery(params SearchQuery[]) Bir ifade arama sorgusu oluşturur.
static CreateRegexQuery(string) Düzenli ifade sorgusu oluşturur.
static CreateRegexQuery(string, RegexOptions) Düzenli ifade sorgusu oluşturur.
static CreateWildcardQuery(int) İfade araması için bir joker karakter oluşturur.
static CreateWildcardQuery(int, int) İfade araması için bir joker karakter oluşturur.
static CreateWordPatternQuery(WordPattern) Bir sözcük kalıbı sorgusu oluşturur.
static CreateWordQuery(string) Basit bir sözcük sorgusu oluşturur.
abstract GetChild(int) Bir dizine göre bir alt sorgu alır.
abstract ToString() a döndürürString akımı temsil edenSearchQuery örnek.

Notlar

Daha fazla bilgi edin

Örnekler

Örnek, sınıfın tipik bir kullanımını göstermektedir.

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

Index index = new Index(indexFolder); //Belirtilen klasörde indeks oluşturma
index.Add(documentsFolder); // Belgeleri belirtilen klasörden indeksleme

// Tarih aralığı araması için alt sorgu oluşturma
SearchQuery subquery1 = SearchQuery.CreateDateRangeQuery(new DateTime(2011, 6, 17), new DateTime(2013, 1, 1));

// 0'dan 2'ye kadar kaçırılan kelime sayısına sahip joker alt sorgu oluşturma
SearchQuery subquery2 = SearchQuery.CreateWildcardQuery(0, 2);

// Basit bir kelimenin alt sorgusu oluşturuluyor
SearchQuery subquery3 = SearchQuery.CreateWordQuery("birth");
subquery3.SearchOptions = new SearchOptions(); // Arama seçeneklerini yalnızca alt sorgu 3 için ayarlama
subquery3.SearchOptions.FuzzySearch.Enabled = true;
subquery3.SearchOptions.FuzzySearch.FuzzyAlgorithm = new TableDiscreteFunction(1);

// Alt sorguları tek bir sorguda birleştirme
SearchQuery query = SearchQuery.CreatePhraseSearchQuery(subquery1, subquery2, subquery3);

// Bulunan oluşumların kapasitesi artırılmış arama seçenekleri nesnesi oluşturuluyor
SearchOptions options = new SearchOptions(); // Genel arama seçenekleri
options.MaxOccurrenceCountPerTerm = 1000000;
options.MaxTotalOccurrenceCount = 10000000;

SearchResult result = index.Search(query, options); // Aranıyor

Ayrıca bakınız