php从数据库判断标题重复 比如 海淀区维修自动门和石景山安装电动门 怎么过滤重复的呢,数据库有6W多条
发布网友
发布时间:2022-08-19 15:30
我来回答
共3个回答
热心网友
时间:2023-10-25 06:29
mysql数据库不支持中文索引
要靠人工分词(当时记得开源的有个swcs的),然后换成4位数的区位码存储,再调用mysql数据库的全文索引
热心网友
时间:2023-10-25 06:30
MySQL数据库不支持中国指数依靠人工文字(记得开源的SWCS),然后更换4位数的代码存储,然后调用的mysql数据库的全文索引
热心网友
时间:2023-10-25 06:30
如果是精确判断,可以考虑是用索引语句的group功能。追问if($title){
$link=mysql_connect('localhost',$user,$password);
mysql_select_db('aa');
$sql22="select title from news order by id desc limit 20"; //判断标题相似度
$cf=0;
$result=mysql_query($sql22,$link);
while($row=mysql_fetch_array($result)){
similar_text($row['title'], $title, $percent); //相似度存放于$percent
if($percent>100){$cf=1;break;}
}
if($cf==1){
抱歉!禁止发布重复信息
}
追答我说的精确判断,就是指字符串完全一样。
而在你说的这种情况下,已经是标题的相似度判断问题(你的例子是通过函数similar_text完成的),这实际上就是字符串的比较算法。不同的人设计的算法不同。尤其是涉及的汉字的词的判断,方法更是不确定,个人认为这是一个正在发展的领域,分词法就是一个例子。
看样你至少应该已经有一个算法来。