Lucene查询编程


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作为顾名思义匹配的所有文件。