正如我们已经看到在前面的章节中的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作为顾名思义匹配的所有文件。 |