Lucene - BooleanQuery 类
-
简述
BooleanQuery 用于搜索文档,这些文档是使用多个查询的结果 AND, OR 要么 NOT 运营商。 -
类声明
以下是声明 org.apache.lucene.search.BooleanQuery 类 - -
字段
以下是 BooleanQuery 的字段 -- protected int minNrShouldMatch
-
类构造函数
下表显示了不同的类构造函数 -序号 构造函数和描述 1 BooleanQuery()构造一个空的布尔查询。2 BooleanQuery(boolean disableCoord)构造一个空的布尔查询。 -
类方法
下表显示了不同的类方法 -序号 方法和说明 1 void add(BooleanClause clause)向布尔查询添加子句。2 void add(Query query, BooleanClause.Occur occur)向布尔查询添加子句。3 List<BooleanClause> clauses()返回此查询中的子句列表。4 Object clone()返回此查询的克隆。5 Weight createWeight(Searcher searcher)专家:为这个查询构造一个合适的权重实现。6 boolean equals(Object o)如果对象 o 等于 this,则返回 true。7 void extractTerms(Set terms)专家:将出现在此查询中的所有术语添加到术语集。8 BooleanClause[] getClauses()返回此查询中的子句集。9 static int getMaxClauseCount()返回允许的最大子句数,默认为 1024。10 int getMinimumNumberShouldMatch()获取必须满足的可选 BooleanClauses 的最小数量。11 int hashCode()返回此对象的哈希码值。12 boolean isCoordDisabled()返回真如果 Similarity.coord(int,int) 在此查询实例的评分中被禁用。13 Iterator<BooleanClause> iterator()返回此查询中子句的迭代器。14 Query rewrite(IndexReader reader)专家:调用以将查询重写为原始查询。15 static void setMaxClauseCount(int maxClauseCount)设置每个 BooleanQuery 允许的最大子句数。16 void setMinimumNumberShouldMatch(int min)指定必须满足的可选 BooleanClauses 的最小数量。17 String toString(String field)打印此查询的用户可读版本。 -
继承的方法
这个类继承了以下类的方法 -- org.apache.lucene.search.Query
- java.lang.Object
-
用法
-
示例应用
让我们创建一个测试 Lucene 应用程序来测试使用 BooleanQuery 的搜索。步 描述 1 创建一个名称的项目LuceneFirstApplication一个包下com.jc2182.lucene作为解释Lucene的-第一个应用程序的章节。您也可以使用在Lucene - First Application章节中创建的项目来理解本章的搜索过程。2 按照Lucene - First Application章节中的说明创建LuceneConstants.java和Searcher.java。保持其余文件不变。3 如下所述创建LuceneTester.java。4 清理并构建应用程序以确保业务逻辑按照要求工作。LuceneConstants.java
此类用于提供要在整个示例应用程序中使用的各种常量。Searcher.java
此类用于读取对原始数据建立的索引并使用 Lucene 库搜索数据。LuceneTester.java
该类用于测试Lucene库的搜索能力。 -
数据和索引目录创建
我们使用了从 record1.txt 到 record10.txt 的 10 个文本文件,其中包含学生的姓名和其他详细信息,并将它们放在目录中 E:\Lucene\Data. 测试数据。索引目录路径应创建为E:\Lucene\Index. 在章节中运行索引程序后Lucene - Indexing Process,您可以看到在该文件夹中创建的索引文件列表。 -
运行程序
完成源、原始数据、数据目录、索引目录和索引的创建后,您可以继续编译和运行程序。为此,请保持 LuceneTester.Java 文件选项卡处于活动状态并使用Run Eclipse IDE 中可用的选项或使用 Ctrl + F11 编译并运行你的 LuceneTester应用。如果您的应用程序一切正常,这将在 Eclipse IDE 的控制台中打印以下消息 -