我在MySQL数据库中有一组850,000个条目。有些条目非常相似,比如
Foobar Lorem
Foobar Ipsum
Foobar Dolor
如何按相似性对所有条目进行分组(例如,至少4个相等的字符)。
我无法使用LIKE
运算符查询特定字符串,因为我不知道所有可能的类似条目。
我找到了一些有趣的方法(例如Levenshtein距离),但所有函数都需要至少一个参数来查找。
有什么建议吗?
/更新
当字符串的开头类似
时就足够了答案 0 :(得分:3)
您可能想尝试SOUNDEX
,因为这是一种基于特定单词或单词集合创建代码的算法,因此任何听起来相似的单词都会在此处分组(代码可以是长的弦长,所以修剪前6个字符)。 http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_soundex
GROUP BY SUBSTRING(SOUNDEX(col), 1, 6)