
- Lucene 教程
- Lucene - 首頁
- Lucene - 概述
- Lucene - 環境設定
- Lucene - 第一個應用程式
- Lucene - 索引類
- Lucene - 搜尋類
- Lucene - 索引過程
- Lucene - 索引操作
- Lucene - 搜尋操作
- Lucene - 查詢程式設計
- Lucene - 分析
- Lucene - 排序
- Lucene 有用資源
- Lucene - 快速指南
- Lucene - 有用資源
- Lucene - 討論
Lucene - 查詢程式設計
我們在上一章Lucene - 搜尋操作中看到,Lucene 使用 IndexSearcher 進行搜尋,並使用 QueryParser 建立的 Query 物件作為輸入。在本章中,我們將討論各種型別的 Query 物件以及以程式設計方式建立它們的不同方法。建立不同型別的 Query 物件可以控制要進行的搜尋型別。
考慮許多應用程式提供的“高階搜尋”案例,其中為使用者提供了多個選項來限制搜尋結果。透過查詢程式設計,我們可以非常輕鬆地實現這一點。
以下是我們將逐步討論的查詢型別列表。
序號 | 類和描述 |
---|---|
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 匹配所有文件。 |
廣告