php - 如何从mysql查找出10篇标题相似的文章

查看:464
本文介绍了php - 如何从mysql查找出10篇标题相似的文章的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

考虑数据量比较多的情况下,目前假设千万级别,如何从一张表里面根据文章如何根据现有的文章标题查找相似度最高的10篇文章,比如,现有的标题:我的绯闻非人女友,那应该从表里面找出类似"我的绯闻野狗xx","绯闻飞吻飞蚊"等等。

在网上找到一个类似的解决方案,思路大概是:将标题组成词,再like模糊查询,比如:"我的绯闻女友",先用脚本处理成"我的","的绯",绯闻,闻女,女友这样两个词组成的词,然后再计算该词在该标题出现的次数,设置为权重$im,最后sql语句时
select (title like "%我的%")*$im,(title like "的我").. from article where ..
,用这种词语模糊查询来查询标题相似度接近的文章,不知道这种方式靠不靠谱?

解决方案

1.首先一般来说,是先检索标签、标题或者做索引,用mysql做模糊搜索。但是这些都是在数据量比较少的前提下
2.涉及到千万级别,一般是采用sphinx等搜索的解决方案来解决。

技术的关键词是全文索引,具体实例就不说了,举一个栗子:抛弃mysql模糊查询,使用sphinx做专业索引

这篇关于php - 如何从mysql查找出10篇标题相似的文章的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆