当前位置: 首页 > 文档资料 > Lucene 中文文档 >

查询编程(Query Programming)

优质
小牛编辑
136浏览
2023-12-01

我们在前一章Lucene - Search Operation看到,Lucene使用IndexSearcher进行搜索,它使用QueryParser创建的Query对象作为输入。 在本章中,我们将讨论各种类型的Query对象以及以编程方式创建它们的不同方法。 创建不同类型的Query对象可以控制要进行的搜索类型。

考虑一个高级搜索的案例,由许多应用程序提供,其中为用户提供了多个选项来限制搜索结果。 通过Query编程,我们可以很容易地实现同样的目的。

以下是我们将在适当时候讨论的查询类型列表。

S.No.类和描述
1TermQuery

此类充当核心组件,在索引过程中创建/更新索引。

2TermRangeQuery

当要搜索一系列文本术语时使用TermRangeQuery。

3PrefixQuery

PrefixQuery用于匹配索引以指定字符串开头的文档。

4BooleanQuery

BooleanQuery用于搜索使用AND, ORNOT运算符进行多次查询的文档。

5PhraseQuery

短语查询用于搜索包含特定术语序列的文档。

6WildCardQuery

WildcardQuery用于使用任何字符序列的'*'等通配符搜索文档,? 匹配单个字符。

7FuzzyQuery

FuzzyQuery用于使用模糊实现来搜索文档,模糊实现是基于编辑距离算法的近似搜索。

8MatchAllDocsQuery

MatchAllDocsQuery顾名思义匹配所有文档。