目录

Lucene - 查询编程( Query Programming)

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

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

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

S.No. 类和描述
1 TermQuery

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

2 TermRangeQuery

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

3 PrefixQuery

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

4 BooleanQuery

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

5 PhraseQuery

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

6 WildCardQuery

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

7 FuzzyQuery

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

8 MatchAllDocsQuery

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

↑回到顶部↑
WIKI教程 @2018