Lucene - FuzzyQuery 类
-
简述
FuzzyQuery 用于使用模糊实现搜索文档,模糊实现是基于编辑距离算法的近似搜索。 -
类声明
以下是声明 org.apache.lucene.search.FuzzyQuery 类 - -
字段
以下是 FuzzyQuery 的字段 -- 静态 int defaultMaxExpansions
- 静态浮动 defaultMinSimilarity
- 静态 int defaultPrefixLength
- 受保护的期限
-
类构造函数
下表显示了不同的类构造函数 -序号 构造函数和描述 1 FuzzyQuery(Term term)调用 FuzzyQuery(term, 0.5f, 0, Integer.MAX_VALUE)2 FuzzyQuery(Term term, float minimumSimilarity)调用 FuzzyQuery(term, minimumSimilarity, 0, Integer.MAX_VALUE)3 FuzzyQuery(Term term, float minimumSimilarity, int prefixLength)调用 FuzzyQuery(term, minimumSimilarity, prefixLength, Integer.MAX_VALUE)4 FuzzyQuery(Term term, float minimumSimilarity, int prefixLength, int maxExpansions)创建一个新的 FuzzyQuery,它将匹配具有至少最小相似度的术语 -
类方法
下表显示了不同的类方法 -序号 方法和说明 1 boolean equals(Object obj)2 protected FilteredTermEnum getEnum(IndexReader reader)构造要使用的枚举,扩展模式项。3 float getMinSimilarity()返回此查询匹配所需的最小相似度。4 int getPrefixLength()返回非模糊前缀长度。5 Term getTerm()返回模式项。6 int hashCode()7 String to String(String field)将查询打印到字符串,字段假定为默认字段并省略。 -
继承的方法
这个类继承了以下类的方法 -- org.apache.lucene.search.MultiTermQuery
- org.apache.lucene.search.Query
- java.lang.Object
-
用法
-
示例应用
让我们创建一个测试 Lucene 应用程序来使用 FuzzyQuery 测试搜索。步 描述 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 激活文件选项卡并使用 Eclipse IDE 中提供的运行选项或使用 Ctrl + F11 编译并运行你的 LuceneTester应用。如果您的应用程序成功运行,它将在 Eclipse IDE 的控制台中打印以下消息 -