使用自定义距离函数对数百万个字符串进行模糊搜索

时间:2019-02-21 07:40:42

标签: algorithm data-structures fuzzy-search fuzzy-comparison string-algorithm

我有很多短字符串,并在它们上面有一个自定义的距离函数(比如说Damerau–Levenshtein距离)。

问:,根据自定义距离从池中获取前N个字符串的最新解决方案是什么?

我正在寻找解决该问题的理论方法以及编码实现(Java,Python等)。

1 个答案:

答案 0 :(得分:0)

直接方法是迭代所有字符串,计算每个字符串的距离,并在迭代时仅保留最佳N。

如果您需要大量执行此任务,则应考虑是否可以针对成本进行上限/下限估算,这些估算可以比实际成本函数更快地计算出来。例如。为您的字符串预先计算所有n克(例如3克)。或者比较长度差已经可以给出距离的下限。则可以跳过所有下界距离高于当前第n个最佳匹配距离的字符串的距离计算。