最近在做一个关键词查询功能。所以开始了解mysql的全文索引技术。接下来我将一步一步告诉大家。我是如何一步一步实现关键词检索的。

1.   了解到mysql全文检索是以词为基础的。MySQL默认的分词是所有非字母和数字的特殊符号都是分词符。所以我存在数据库的样子是这样的。(左边的字段用于显示,右边的字段用于全文查询)

2.全文检索的sql

SELECT * FROM  tbk_item_coupon WHERE MATCH(`title`) AGAINST('夏季' IN BOOLEAN MODE)

更多的检索方式可以上网查找。一大堆。(我们的目的是能实现全文检索)

3.全文检索默认词的长度为4。需要调整。调整操作如下:

 第一步:

全文索引的创建、使用

以下使用 Navicat软件来实现。索引添加。(很多文章都使用语句添加全文索引,可视化工具那么好用,为什么不用。)

创建全文索引,如图、即可。

第二步:

ft_min_word_len    4    #最短的索引字符串,默认值为4,(通常改为1)

修改后必须重建索引文件 重新建立索引命令:repair table tablename quick,修改操作如下:

(1)进入mysql运行环境

Dos环境下执行mysql -uroot –p  然后输入密码

(2)查看全文索引参数

SHOW VARIABLES  LIKE 'ft%';

(3)找到my.ini (Linux 下是 my.cnf )。我使用的是阿里服务器,路径是在 etc/ 下。直接 vi my.cof 就有了。在mysqld 的最后面加上这句话。重启mysql(执行命令:service mysqld restart 直接重启服务器)。如图。

(4)修改后结果如图

 

此时即可进行全文检索。

博主新推出的gitee免费开源项目(生鲜商城+APP+小程序+H5),小伙伴可以了解一下。

生鲜商城kxmall-小程序 + App + 公众号H5: kxmall-生鲜商城+APP+小程序+H5。同时支持微信小程序、H5、安卓App、苹果App。支持集群部署,单机部署。可用于B2C商城,O2O外卖,社区超市,生鲜【带配套骑手端配送系统】。kxmall使用uniapp编码。使用Java开发,SpringBoot 2.1.x框架,MyBatis-plus持久层框架、Redis作为缓存、MySql作为数据库。前端vuejs作为开发语言。https://gitee.com/zhengkaixing/kxmall

 

Logo

更多推荐