首页IT科技mysql5.7全文索引(用MySQL全文索引给FeedDB打造一个搜索引擎)

mysql5.7全文索引(用MySQL全文索引给FeedDB打造一个搜索引擎)

时间2025-07-31 12:03:31分类IT科技浏览4822
导读:用MySQL全文索引给FeedDB打造一个搜索引擎...

用MySQL全文索引给FeedDB打造一个搜索引擎

效果图                ,欢迎测试http://feed.readself.com/

samhjn同学在上一篇文章评论中表示Feed Database的搜索功能不好使               。原因是之前我没有太注重搜索上的优化                       ,所以这个功能的体验很差                       。例如输入 “xiaoxia                ” 结果搜出一大堆 “xiaoxiao                       ” 的网站       ,排名还比我的博客靠前        ,挺失望的!不过                       ,今天的工作就是把这个功能给完善了!现在已经不是之前那个单纯在MySQL里使用like %keyword%查找那么简陋了        。而且搜索速度也大大提升               ,不再像之前那样慢               。

只要你输入关键字“xiaoxia       ”进行搜索        ,绝对不会出现“xiaoxiao        ”的结果了                       ,因为这是两个不同的名字                       。

同时               ,你输入的关键词还会被拆分,例如“吸血鬼小说                       ”会被拆分成“吸血鬼               ”和“小说        ”        。排序方式为先按匹配词数                       ,再按BR值(被友情链接数量)排序       。

提到搜索引擎技术就离不开分词和索引                      ,在分词上,我使用的是mmseg的中文分算法和搜狗的词库                ,分词速度快的惊人                       。以至于我处理数据的瓶颈在MySQL数据库上                。我使用了MySQL的fulltext索引功能                      ,在检索效率上可能没有sphinx那么快       ,但是对于10万个条目以内的数据库                ,速度已经足够了       。为了达到精确查找的目的                       ,我只对网站链接和标题两个属性进行了索引       ,fulltext的索引数据占用的空间也不多        ,才不到10M                       ,挺环保的                      。

对网站标题进行分词之后               ,连同需要建立索引的链接        ,一起搬到了一个叫feed_index的索引表中                。

下面是未分词的一段数据:

分词之后的数据:

目前这个分词效果还是挺满意的。另外                       ,在最近看的一本搜索引擎相关的书籍中               ,提到了一种不依赖于词库的分词方法,能够应付一些新生的词汇                       ,有空研究一下                      。如果两种方法都结合起来                      ,应该能够达到更好的效果

夜已深,明天继续研究!

声明:本站所有文章                ,如无特殊说明或标注                      ,均为本站原创发布                       。任何个人或组织       ,在未征得本站同意时                ,禁止复制               、盗用                       、采集        、发布本站内容到任何网站               、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益                       ,可联系我们进行处理               。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
win7很卡的最终原因(在WIN7中,为什么电脑卡顿?) seo网站排名优化服务(《SEO快速排名优化:让你的网站轻松登顶搜索引擎》)