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