gpt4 book ai didi

lucene - lucene模糊搜索是懒惰的吗?

转载 作者:行者123 更新时间:2023-12-01 14:46:34 25 4
gpt4 key购买 nike

我想使用 Lucene 的模糊搜索,据我所知,它基于某种类似 Levenshtein 的算法。如果我使用相当高的阈值(即“纽约~0.9”),它会首先计算编辑距离然后查看它是否小于 0.9 对应的任何值,或者如果它变得明显它会切断算法文档与查询不匹配吗?我知道这可以通过 levenshtein 算法实现。

最佳答案

will it cut off the algorithm if it becomes apparent that the document does not match the query that closely?

没有。你想看的代码是 FuzzyTermEnum 的第 57-59 行:

int dist = editDistance(text, target, textlen, targetlen);
distance = 1 - ((double)dist / (double)Math.min(textlen, targetlen));
return (distance > FUZZY_THRESHOLD);

你可以看到它计算距离,然后如果小于阈值则返回。

你为什么关心这个?除非您的术语有数千个字符长,否则计算完整的编辑距离会非常快。

关于lucene - lucene模糊搜索是懒惰的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3126573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com