100万行模糊匹配字符串

问题描述 投票:0回答:1

我有一个包含 100 万行的数据库,根据用户的输入,我需要为他找到最相关的匹配项。

以前编写代码的方式是使用库

fuzzywuzzy
。计算 2 个字符串之间的比率,以显示字符串的相似程度。

问题在于我们必须对数据库中的每一行运行比率函数,这意味着 100 万次函数调用,而且性能非常糟糕。我们从未想过我们会拥有这么多数据。

我正在寻找更好的算法或解决方案来处理这种情况下的搜索。我发现了一种叫做 TF-IDF(词频-逆文档频率)的东西。它被描述为“大规模模糊匹配”的解决方案,速度更快。

不幸的是,我无法全神贯注并完全理解它是如何工作的,而且我读得越多,我就越认为这不是我需要的,因为我见过的所有例子都在尝试查找 2 个列表之间的相似匹配,而不是 1 个字符串和 1 个列表。

那么,我是不是走错了路?如果是这样,您能给我一些关于如何处理这种情况的想法吗?不幸的是,全文搜索仅适用于精确匹配,因此在我们的例子中,模糊绝对是我们想要的方式。

如果您要提出使用单独的搜索引擎的想法,我们不想为此在我们的基础设施中添加新工具。

python search tf-idf fuzzy-search fuzzywuzzy
1个回答
0
投票

你得到答案了吗?请分享

© www.soinside.com 2019 - 2024. All rights reserved.