位置: 编程技术 - 正文

深度解析MySQL 5.7之中文全文检索(深度解析天梁坐命)

编辑:rootadmin

推荐整理分享深度解析MySQL 5.7之中文全文检索(深度解析天梁坐命),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:深度解析你也是个rapper,深度解析张艺谋《坚如磐石》,深度解析冯德伦最后为什么选了舒淇,深度解析何以笙箫默,深度解析桂附地黄丸,深度解析张艺谋《坚如磐石》,深度解析桂附地黄丸,深度解析桂附地黄丸,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

其实全文检索在MySQL里面很早就支持了,只不过一直以来只支持英文。缘由是他从来都使用空格来作为分词的分隔符,而对于中文来讲,显然用空格就不合适,需要针对中文语义进行分词。这不,从MySQL 5.7开始,MySQL内置了ngram全文检索插件,用来支持中文分词,并且对MyISAM和InnoDB引擎有效。

在使用中文检索分词插件ngram之前,先得在MySQL配置文件里面设置他的分词大小,比如,

这里把分词大小设置为2。要记住,分词的SIZE越大,索引的体积就越大,所以要根据自身情况来设置合适的大小。

示例表结构:

示例数据,有6行记录。

显式指定全文检索表源

通过系统表,就可以查看到底是怎么划分articles里的数据。

深度解析MySQL 5.7之中文全文检索(深度解析天梁坐命)

这里可以看到,把分词长度设置为2,所有的数据都只有两个一组。上面数据还包含了行的位置,ID等等信息。

接下来,我来进行一系列检索示范,使用方法和原来英文检索一致。

一、自然语言模式下检索:

1、得到符合条件的个数,

2、得到匹配的比率,

二、布尔模式下搜索,这个就相对于自然模式搜索来的复杂些:

1、匹配既有管理又有数据库的记录,

2、匹配有数据库,但是没有管理的记录,

3、匹配MySQL,但是把数据库的相关性降低,

三、查询扩展模式,比如要搜索数据库,那么MySQL,oracle,DB2也都将会被搜索到,

当然,我这里只是功能演示,更多的性能测试,大家有兴趣可以进行详细测试。由于N-grm是中文检索常用的分词算法,已经在互联网大量使用,这次集成到MySQL中,想必效果上不会有太大的问题。

总结

本文链接地址:https://www.jiuchutong.com/biancheng/349636.html 转载请保留说明!

上一篇:MySQL 使用 SSL 连接配置详解(ssms连接mysql)

下一篇:深度解析MySQL 5.7之临时表空间(深度解析桂附地黄丸)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络