Lucene 如果两个字母之间的编辑距离=2,则两个字母的搜索词是否可能与三个字母的索引词匹配

Lucene 如果两个字母之间的编辑距离=2,则两个字母的搜索词是否可能与三个字母的索引词匹配,lucene,Lucene,我试图在我的项目中为模糊匹配编写单元测试。然而,我有一个测试失败了,尽管根据Lucene文档它不应该失败。搜索项长度为2个字符,索引项长度为3个字符,编辑距离为2。根据lucene文档,此搜索项不应与此索引项匹配,因为编辑距离应大于最小匹配项的长度 搜索词为“je”,索引词为“jon”。根据Lucene使用的Damareau-levenshtein距离,此处的编辑距离为2。根据Lucene关于FuzzyQuery()的官方文档,编辑距离应该大于最短项(搜索项或索引项)的长度。因此,按照这种逻辑,

我试图在我的项目中为模糊匹配编写单元测试。然而,我有一个测试失败了,尽管根据Lucene文档它不应该失败。搜索项长度为2个字符,索引项长度为3个字符,编辑距离为2。根据lucene文档,此搜索项不应与此索引项匹配,因为编辑距离应大于最小匹配项的长度

搜索词为“je”,索引词为“jon”。根据Lucene使用的Damareau-levenshtein距离,此处的编辑距离为2。根据Lucene关于FuzzyQuery()的官方文档,编辑距离应该大于最短项(搜索项或索引项)的长度。因此,按照这种逻辑,我对“je”的搜索查询不应该与“jon”匹配

作为背景,我使用一个带有前缀query和fuzzyQuery的布尔查询。使用prefixQuery启用部分匹配,使用fuzzyQuery启用模糊匹配。我没有存储任何语法图或词干。我正在使用一个简单的standardAnalyzer进行索引和搜索

最后,我打印了这个搜索结果的解释分数,这个解释似乎证实了我的担心,这可能是Lucene中的一个bug。Explain方法的输出为:

“0.0=总和:0.0=康斯坦索(姓名:jon)^0.0”

这表明计算出的相关性得分为0,但结果仍在匹配和返回

Lucene的错误文档或软件中的错误是否有任何经验