Lucene查詢程式設計


正如我們已經看到在前面的章節中的Lucene- 搜尋操作,Lucene使用IndexSearcher進行搜尋,並使用由QueryParser輸入建立的查詢物件。在本章中,我們將討論不同型別的查詢物件和方法以程式設計方式來建立它們。建立不同型別的查詢物件的給出了要進行搜尋型別的控制。

考慮高階搜尋的情況下,許多應用程式,使用者給出了多個選項來限制搜尋結果中提供。通過查詢程式,我們一樣可以很輕鬆的實現。

以下是查詢型別,我們將在適當的時候討論的列表。

Sr. No. 類和說明
1 TermQuery
此類充當創造/在索引處理更新指標的核心組成部分。
2 TermRangeQuery
TermRangeQuery是在使用的範圍內的文字的詞條都被搜尋。
3 PrefixQuery
PrefixQuery用於匹配其索引開始以指定的字串的文件。
4 BooleanQuery
BooleanQuery用於搜尋的是使用AND,OR或NOT運算子多個查詢結果的檔案。
5 PhraseQuery
詞組查詢用於搜尋包含詞條的特定序列的文件。
6 WildCardQuery
WildcardQuery用於搜尋使用類似 '*' 的字元序列的萬用字元的檔案,"?" 匹配單個字元。
7 FuzzyQuery
FuzzyQuery用於搜尋使用模糊實現,它是一種基於編輯距離演算法的近似搜尋檔案。
8 MatchAllDocsQuery
MatchAllDocsQuery作為顧名思義匹配的所有檔案。