首先要说的是本站就是使用DESTOON系统内核改版来的!
今天就先讲一讲,DESTOON如何进行判断用户发布的信息标题重复或者内容重复的方法:
为什么要做这个?因为一个注册用户,【云】不可能有那么多产品来发,就会导致重复的内容或者重复的标题发布,导致网站信息质量下降,百度收录变慢或者不收录,降低网站权重的因素;
判断标题重复的思路分享:
标题比较短,也好处理,简单的思路就是先把标题中的所有符号去掉,留下纯文字,然后通过MD5生成加密码,保存到数据库中;
当用户发布信息时,检测发布时的标题MD5是否有和数据库中的一样,这样就可以解决了;
当然标题判断还可以直接等于号判断,【发】之所以使用MD5是因为做内容判断的时候用,这样方法体可以公用了
如果标题重复就提示不让发布就可以了,本站采用AJAX发布提交,所以体验效果会好一些;
判断内容重复的思路分享:
内容判断,一直一来使用了各种方法,发现不怎么好用;
比如:通过高频词,全相等,段落重复等;这些都很容易规避的;
这次突然灵光一闪,想到了使用MD5的方法,这样在查询是否重复时效率很高;当然不是使用全文的MD5判断,具体是什么思路呢?且听我慢慢讲来:
首先,全文去掉标签,删除所有标签,都不要了;
再次,替换文本重点所有标点符号为句号。【帖】因为标点符号容易输入,或者乱输入,所以就放弃这个;
然后,通过句号分割内容到数组,让数组根据内容长度排序;
然后,提取到数组中前N个内容最长的数组,当然了N是越大匹配越精确,但是判断率就会降低;
然后,把N个字符串合并,生成MD5并保存到数据库中;
然后,就可以通过发布时的MD5和数据库中的MD5进行比对,有一样的果断拒绝发布;
最后要说的是:标题或者内容判断的时候都需要在发布的时候给上面的方法走一遍;内容使用MD5方式判断的好处是,信息内容修改增加几个字不影响检测结果;
当然了,如果想做到100%检测,还是人工审核吧;
这就是思路,至于代码,自己想办法写吧;我就不分享;当然了,如果花点银子让我来做,还是可以的哦!
本文是云发帖纯手工写出来的,切勿随意转载;