- 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 匹配所有文档。 |
广告