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

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

时间2025-09-19 05:58:31分类IT科技浏览5623
导读:用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
echarts饼图标签超出边界(echarts:饼图标签formatter的使用/饼图自定义标签)