前端之家收集整理的这篇文章主要介绍了
database – 匹配模糊字符串,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要在Postgre
sql中将两个表合并在公共变量“公司
名称”上.不幸的是,许多公司
名称并不完全匹配(即一个表中的MICROSOFT,另一个表中的MICROSFT).我尝试从两个列中
删除常用词,例如“corporation”或“inc”或“ltd”,以便尝试在两个表中标准化
名称,但我无法考虑其他策略.有任何想法吗?
谢谢.
此外,如果有必要,我可以在R中这样做
你考虑过fuzzystrmatch模块吗?你可以使用soundex,差异,levenshtein,
Metaphone和d
Metaphone,或者组合.
fuzzystrmatch documentation
SELECT something
FROM somewhere
WHERE levenshtein(item1,item2) < Carefully_Selected_Threshold
例如,从MICROSOFT到MICROSFT的levenshtein距离是一(1).
levenshtein(dMetaphone('MICROSOFT'),dMetaphone('MICROSFT')
以上返回零(0).结合levenshtein和dMetaphone可以帮助你匹配许多拼写错误.