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