匹配模糊字符串

2024-01-02

我有两个表需要在 PostgreSQL 中的公共变量“公司名称”上合并在一起。不幸的是,许多公司名称并不完全匹配(即一张表中为 MICROSOFT,另一张表中为 MICROSFT)。我尝试从两列中删除常用词,例如“corporation”或“inc”或“ltd”,以便尝试标准化两个表中的名称,但我无法考虑其他策略。有任何想法吗?

Thanks.

另外,如果有必要,我可以在 R 中执行此操作。


您考虑过 fuzzystrmatch 模块吗?您可以使用soundex, difference, levenshtein, metaphone and dmetaphone,或组合。

模糊匹配文档 http://www.postgresql.org/docs/8.3/static/fuzzystrmatch.html

SELECT something
FROM somewhere
WHERE levenshtein(item1, item2) < Carefully_Selected_Threshold

例如,编辑距离微软 to MICROSFT是一 (1)。

levenshtein(dmetaphone('MICROSOFT'), dmetaphone('MICROSFT')

以上返回零 (0)。结合使用 levenshtein 和 dmetaphone 可以帮助您匹配大量拼写错误。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

匹配模糊字符串 的相关文章

随机推荐