我有一个分类网站(在 PHP 和 Mysql 中),用户可以免费发布他们的广告。但用户经常发布重复的广告。该脚本不允许他们发布完全重复的内容,因此他们通过更改一两个字符来做到这一点。
有没有办法找到重复的广告并提醒用户(即使他们修改了文本的某些部分)?
我的网站是 PHP 和 Mysql。我正在使用 spix 进行搜索。考虑将其更改为 mongodb 和 apache solr。
去抢劫
计算两个字符串之间的相似度 http://php.net/manual/en/function.similar-text.php
或者
计算两个字符串之间的 Levenshtein 距离 http://www.php.net/manual/en/function.levenshtein.php
您可以编写一个函数,将句子分解为单词,然后将每个单词与表匹配,然后在数据库中查找匹配百分比。根据百分比,您可以做出决定。为了减少数据库检查,您可以删除可以存储在数组中的常用词和动词。这是我个人的看法,可能还有其他更好的技术。但我必须说这是一个好问题。
列文斯坦距离,jarowinkler,抄袭算法..在SO上查找它们
我将从简单的莱文斯坦距离开始