mysql5.7.25使用全文检索功能的实例教程
来源:脚本之家
时间:2023-01-29 12:05:13 396浏览 收藏
亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《mysql5.7.25使用全文检索功能的实例教程》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下mysql5.7.25全文检索,希望所有认真读完的童鞋们,都有实质性的提高。
mysql 5.7.25自带的全文检索功能,有一定的方便性。
在MySQL 5.7.6之前,全文索引只支持英文全文索引,不支持中文全文索引,需要利用分词器把中文段落预处理拆分成单词,然后存入数据库。
从MySQL 5.7.6开始,MySQL内置了ngram全文解析器,用来支持中文、日文、韩文分词。
本文使用的MySQL 版本是5.7.25,InnoDB数据库引擎。
1. 创建带有全文索引的表
CREATE TABLE `tbl_article_content` ( `id` bigint(40) NOT NULL AUTO_INCREMENT, `article_title` varchar(60) COMMENT '标题', `article_summary` varchar(120) COMMENT '摘要', `article_content` text NOT NULL COMMENT '内容', `article_id` bigint(40) NOT NULL COMMENT '对应文章ID', `create_date` datetime NOT NULL COMMENT '创建时间', `modified_date` datetime NOT NULL COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE, KEY `artid` (`article_id`) USING BTREE, FULLTEXT KEY `article_content` (`article_content`) /*!50100 WITH PARSER `ngram` */ ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
/*!50100 */ 它表示5.01.00 版本或者更高的版本,才执行.
WITH PARSER `ngram`是指定分词引擎。
2. 添加全文索引
如果在创建表的时候未添加全文索引,可以在建表之后进行添加。
create fulltext index article_content on tbl_article_content(article_content) WITH PARSER ngram;
3. 添加测试数据
INSERT INTO `tbl_article_content` VALUES ('2', '文章标题', '文章摘要', '文章内容', '2', '2022-02-05 13:47:55', '2022-02-05 13:47:59');
4. 执行查询
mysql> select * FROM tbl_article_content222 WHERE MATCH(article_content) AGAINST('内容'); +----+---------------+-----------------+-----------------+------------+---------------------+---------------------+ | id | article_title | article_summary | article_content | article_id | create_date | modified_date | +----+---------------+-----------------+-----------------+------------+---------------------+---------------------+ | 2 | 文章标题 | 文章摘要 | 文章内容 | 2 | 2022-02-05 13:47:55 | 2022-02-05 13:47:59 | +----+---------------+-----------------+-----------------+------------+---------------------+---------------------+ 1 row in set
全文查询的关键字为MATCH和AGAINST。
5. 语法
MATCH (col1,col2,...) AGAINST (expr [search_modifier]) search_modifier: { IN BOOLEAN MODE | WITH QUERY EXPANSION }
例如:SELECT * FROM tab_name WHERE MATCH ('列名1,列名2...列名n') AGAINST('词1 词2 词3 ... 词m');
即:MATCH 相当于要匹配的列,而 AGAINST 就是要找的内容。
总结
本篇关于《mysql5.7.25使用全文检索功能的实例教程》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于数据库的相关知识,请关注golang学习网公众号!
声明:本文转载于:脚本之家 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
最新阅读
更多>
-
404 收藏
-
101 收藏
-
265 收藏
-
209 收藏
-
446 收藏
-
339 收藏
-
285 收藏
-
259 收藏
-
374 收藏
-
475 收藏
-
483 收藏
-
462 收藏
课程推荐
更多>
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习