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