0

我最近回答了一个问题,在它的评论部分从另一个用户那里得到了一个我无法回答的问题。

即使代码拼写错误也能搜索产品

给定一个将使用正则表达式过滤“大型”数据源的模糊搜索参数,您将如何为“相关性”或“最佳匹配”分配值?

过滤器将正常工作,但我不知道如何调整它,以便您可以识别哪些值最接近提供的搜索字符串,以及哪些值最远。

在这种情况下,最接近的将是与字符串的完全匹配(假设“+”字符不存在,仍然匹配的任何内容都是最接近的)。最远的,即最差的匹配将完全相反,最大数量的不匹配字符。

为了避免争论,我们假设正在使用的模糊搜索在搜索模式中使用了“+”和“*”的混合。X+HG*UPO+Z*或类似的规定。

目标是避免使用字符串长度比较。在我回答的问题中,数据几乎可以保证总是相同的长度。

4

1 回答 1

0

您可以计算Levenshtein distance或类似的东西。维基百科上的近似字符串匹配可能会有所帮助。

于 2012-06-11T13:05:17.520 回答