Magento适配Mysql5.7的全文检索,支持中文分词

原创 2015年11月17日 17:08:52

Mysql5.7正式版发布了,其中一个新特性是新的全文索引插件n-gram parser支持中文的分词了。什么意思呢,就是说你可以只用mysql一种工具就实现以前必须引入第三方的Solr或者Sphinx等等全文检索引擎的情况,系统结构变的简洁了。

我这里分享下我自己花了2小时写的Magento模块,让你的Magento不需要Solr或Sphinx就能在搜索时支持中文分词了(前提:Mysql5.7大笑

https://github.com/walexer/Yli_Fulltext

效果图

可能有人会质疑mysql自带全文索引的性能,这个我没有测试过,借用InsideMySQL大神的原话,mysql自带全文索引的性能与solr在同一个数量级,并没有特别明显的差距,有兴趣的同学可以自己来做下对比测试。

PS:模块是在Magento1.9.2.1下测试的,不保证所有版本兼容

参考:http://mysqlserverteam.com/innodb%E5%85%A8%E6%96%87%E7%B4%A2%E5%BC%95%EF%BC%9An-gram-parser/

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

MySQL 5.7 InnoDB中文全文索引测试

从MySQL 5.7.6开始,MySQL内置了ngram全文检索插件,用来支持中文分词,并且对MyISAM和InnoDB引擎有效。在全文索引中,ngram就是一段文字里面连续的n个字的序列。

MySql5.7 InnoDB全文索引(针对中文搜索)

MySql5.7 建立全文索引1、ngram and MeCab full-text parser plugins全文检索在MySQL里面很早就支持了,只不过一直以来只支持英文。缘由是他从来都使用空格...

MySQL 5.7 深度解析: 中文全文检索

全文检索在MySQL里面很早就支持了,只不过一直以来只支持英文。缘由是他从来都使用空格来作为分词的分隔符,而对于中文来讲,显然用空格就不合适,需要针对中文语义进行分词。这不,从MySQL 5.7开始,...

深度解析MySQL 5.7之中文全文检索

InnoDB默认的全文索引parser非常合适于Latin,因为Latin是通过空格来分词的。但对于像中文,日文和韩文来说,没有这样的分隔符。一个词可以由多个字来组成,所以我们需要用不同的方式来处理。...

mysql 5.7.14 整合sphinx 2.2.11编译 插件式热安装

1、系统centos 7、mysql5.7.14,sphinx-2.2.11 下载mysql5.7.14源码:http://cdn.mysql.com/archives/mysql-5.7/mysql...

抛弃mysql模糊查询,使用sphinx做专业索引

Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,提供比数据库本身更专业的搜索功能特别为MySQL也设计了一个存储引擎插件,从此抛弃模糊查询吧。Sphin...
  • socho
  • socho
  • 2016-08-19 15:16
  • 3128

关于Mysql的全文本搜索功能

为什么要使用全文本搜索? 其实有类似于全文本搜索的功能: 1、LIKE关键字:利用通配符操作匹配文本,使用LIKE,能够查找包含特殊值或部分值的行(不管这些值在什么位置)。 2、...

Mysql 全文本检索

mysql 全文索引 注意 并非所有的引擎都支持 全文检索 mysql最常用的引擎 INnodb 和 myisam 后者支持全文检索 前者不支持 创建表的时候指定要检...

支持中文的MySQL 5.1+ 全文检索分词插件

经过不停的尝试和努力,以最新的 mysql 5.1.11-beta 为基础,制作的分词插件已经测试成功,现在发布如下。 由于 mysql 5.1.x 本身的架构作了修改,所以增加分词直接以插件形式方...

MySql模糊匹配、全文检索、中文分词相关

因为要做一个对数据库进行简单匹配查询的搜索框,所以对 MySql 进行关键字匹配查询作了一些了解。 书上给出的匹配查询一般是这两种。 (1)精确匹配,使用等号(=). 例如:select...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)