Lucene - PhraseQuery 类
-
简述
短语查询用于搜索包含特定术语序列的文档。 -
类声明
以下是声明 org.apache.lucene.search.PhraseQuery 班级: -
类构造函数
下表显示了一个类构造函数 -序号 构造函数和描述 1 PhraseQuery()构造一个空短语查询。 -
类方法
下表显示了不同的类方法 -序号 方法和说明 1 void add(Term term)在查询短语的末尾添加一个术语。2 void add(Term term, int position)在查询短语的末尾添加一个术语。3 Weight createWeight(Searcher searcher)专家:为这个查询构造一个合适的权重实现。4 boolean equals(Object o)如果对象 o 等于 this,则返回 true。5 void extractTerms(Set<Term> queryTerms)专家:将出现在此查询中的所有术语添加到术语集。6 int[] getPositions()返回词在这个短语中的相对位置。7 int getSlop()返回斜坡。8 Term[] getTerms()返回此短语中的术语集。9 int hashCode()返回此对象的哈希码值。10 Query rewrite(IndexReader reader)专家:调用以将查询重写为原始查询。11 void setSlop(int s)设置查询短语中单词之间允许的其他单词数。12 String toString(String f)打印此查询的用户可读版本。 -
继承的方法
这个类继承了以下类的方法 -- org.apache.lucene.search.Query
- java.lang.Object
-
用法
-
示例应用
让我们创建一个测试 Lucene 应用程序来测试使用 PhraseQuery 的搜索。步 描述 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 的控制台中打印以下消息 -