1

我在 MySQL 数据库中有一组 850,000 个条目。有些条目非常相似,例如

Foobar Lorem
Foobar Ipsum
Foobar Dolor

我如何按相似性对所有条目进行分组(例如,至少 4 个相等的字符)。我无法使用LIKE运算符查询特定字符串,因为我不知道所有可能的类似条目。

我发现了一些有趣的方法(例如 Levenshtein 距离),但所有函数都需要至少一个参数来查找。

有什么建议么?

/更新

当字符串的开头相似时就足够了

4

1 回答 1

3

您可能想尝试一下SOUNDEX,因为这是一种基于特定单词或一组单词听起来像的代码创建代码的算法,因此任何听起来相似的单词都将在这里分组(代码可能很长,字符串较长,所以修剪到前 6 个字符)。http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_soundex

GROUP BY SUBSTRING(SOUNDEX(col), 1, 6)
于 2013-07-09T20:19:34.507 回答