位置: 编程技术 - 正文
推荐整理分享深度解析MySQL 5.7之中文全文检索(深度解析天梁坐命),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:深度解析你也是个rapper,深度解析张艺谋《坚如磐石》,深度解析冯德伦最后为什么选了舒淇,深度解析何以笙箫默,深度解析桂附地黄丸,深度解析张艺谋《坚如磐石》,深度解析桂附地黄丸,深度解析桂附地黄丸,内容如对您有帮助,希望把文章链接给更多的朋友!
前言
其实全文检索在MySQL里面很早就支持了,只不过一直以来只支持英文。缘由是他从来都使用空格来作为分词的分隔符,而对于中文来讲,显然用空格就不合适,需要针对中文语义进行分词。这不,从MySQL 5.7开始,MySQL内置了ngram全文检索插件,用来支持中文分词,并且对MyISAM和InnoDB引擎有效。
在使用中文检索分词插件ngram之前,先得在MySQL配置文件里面设置他的分词大小,比如,
这里把分词大小设置为2。要记住,分词的SIZE越大,索引的体积就越大,所以要根据自身情况来设置合适的大小。
示例表结构:
示例数据,有6行记录。
显式指定全文检索表源
通过系统表,就可以查看到底是怎么划分articles里的数据。
这里可以看到,把分词长度设置为2,所有的数据都只有两个一组。上面数据还包含了行的位置,ID等等信息。
接下来,我来进行一系列检索示范,使用方法和原来英文检索一致。
一、自然语言模式下检索:
1、得到符合条件的个数,
2、得到匹配的比率,
二、布尔模式下搜索,这个就相对于自然模式搜索来的复杂些:
1、匹配既有管理又有数据库的记录,
2、匹配有数据库,但是没有管理的记录,
3、匹配MySQL,但是把数据库的相关性降低,
三、查询扩展模式,比如要搜索数据库,那么MySQL,oracle,DB2也都将会被搜索到,
当然,我这里只是功能演示,更多的性能测试,大家有兴趣可以进行详细测试。由于N-grm是中文检索常用的分词算法,已经在互联网大量使用,这次集成到MySQL中,想必效果上不会有太大的问题。
总结
标签: 深度解析天梁坐命
本文链接地址:https://www.jiuchutong.com/biancheng/349636.html 转载请保留说明!友情链接: 武汉网站建设