MYSQL发现两个文本字段有多么不同


MYSQL find how different two text fields are?

我正在数据库中存储电子邮件的HTML内容。

如果我在数据库中存储了两封相同的电子邮件,由于个性化的原因,它们只是有点不同(一封可能会说"你好,斯蒂芬,谢谢你订阅…",另一封可能是"你好,安德鲁,谢谢你的订阅…")。

如何判断这些文本字段只是略有不同?(可能会有一部分人说他们有95%的相似性)。

MySQL有一个很好的起点:http://www.artfulsoftware.com/infotree/queries.php#552

Levenstein距离是将一个字符串转换为另一个字符串所需的编辑次数。你可能会把这个距离除以字符串的长度,得到一个百分比。

对于PHP,有一个内置的Levenstein函数:http://www.php.net/manual/en/function.levenshtein.php

这也有助于:http://www.php.net/manual/en/function.similar-text.php。similar_text()返回两个字符串中匹配的字符数。