Lucene - Sorgu Programlama
Önceki bölümde görmüştük Lucene - Search OperationLucene, arama yapmak için IndexSearcher'ı kullanıyor ve girdi olarak QueryParser tarafından oluşturulan Query nesnesini kullanıyor. Bu bölümde, çeşitli Sorgu nesnesi türlerini ve bunları programlı olarak oluşturmanın farklı yollarını tartışacağız. Farklı Sorgu nesnesi türleri oluşturmak, yapılacak aramanın türü üzerinde kontrol sağlar.
Kullanıcılara arama sonuçlarını sınırlandırmaları için birden çok seçenek verilen birçok uygulama tarafından sağlanan bir Gelişmiş Arama örneğini düşünün. Sorgu programlama ile aynı şeyi çok kolay bir şekilde başarabiliriz.
İleride tartışacağımız Sorgu türlerinin listesi aşağıdadır.
S.No. | Sınıf ve Açıklama |
---|---|
1 | TermQuery Bu sınıf, indeksleme işlemi sırasında indeksleri oluşturan / güncelleyen temel bir bileşen olarak hareket eder. |
2 | TermRangeQuery TermRangeQuery, bir dizi metinsel terim aranacağı zaman kullanılır. |
3 | PrefixQuery PrefixQuery, dizini belirli bir dizeyle başlayan belgeleri eşleştirmek için kullanılır. |
4 | BooleanQuery BooleanQuery, birden çok sorgunun sonucu olan belgeleri aramak için kullanılır. AND, OR veya NOT operatörler. |
5 | PhraseQuery Kelime öbeği sorgusu, belirli bir terim dizisini içeren belgeleri aramak için kullanılır. |
6 | WildCardQuery WildcardQuery, herhangi bir karakter dizisi için '*' gibi joker karakterler kullanarak belgeleri aramak için kullanılır. tek bir karakterle eşleşiyor. |
7 | FuzzyQuery FuzzyQuery, düzenleme mesafesi algoritmasına dayalı yaklaşık bir arama olan bulanık uygulamayı kullanarak belgeleri aramak için kullanılır. |
8 | MatchAllDocsQuery MatchAllDocsQuery, adından da anlaşılacağı gibi tüm belgelerle eşleşir. |