正如我們已經(jīng)看到在前面的章節(jié)中的Lucene- 搜索操作,Lucene使用IndexSearcher進行搜索,并使用由QueryParser輸入創(chuàng)建的查詢對象。在本章中,我們將討論不同類型的查詢對象和方法以編程方式來創(chuàng)建它們。創(chuàng)建不同類型的查詢對象的給出了要進行搜索類型的控制。
考慮高級搜索的情況下,許多應(yīng)用程序,用戶給出了多個選項來限制搜索結(jié)果中提供。通過查詢程序,我們一樣可以很輕松的實現(xiàn)。
以下是查詢類型,我們將在適當?shù)臅r候討論的列表。
Sr. No. | 類和說明 |
---|---|
1 |
TermQuery 此類充當創(chuàng)造/在索引處理更新指標的核心組成部分。 |
2 |
TermRangeQuery TermRangeQuery是在使用的范圍內(nèi)的文本的詞條都被搜索。 |
3 |
PrefixQuery PrefixQuery用于匹配其索引開始以指定的字符串的文檔。 |
4 |
BooleanQuery BooleanQuery用于搜索的是使用AND,OR或NOT運算符多個查詢結(jié)果的文件。 |
5 |
PhraseQuery 詞組查詢用于搜索包含詞條的特定序列的文檔。 |
6 |
WildCardQuery WildcardQuery用于搜索使用類似 '*' 的字符序列的通配符的文件,"?" 匹配單個字符。 |
7 |
FuzzyQuery FuzzyQuery用于搜索使用模糊實現(xiàn),它是一種基于編輯距離算法的近似搜索文件。 |
8 |
MatchAllDocsQuery MatchAllDocsQuery作為顧名思義匹配的所有文件。 |