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作爲顧名思義匹配的所有文件。