正如我們已經看到在前面的章節中的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作為顧名思義匹配的所有檔案。 |