mysql全文索引实现搜索功能(关键词查询)

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

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

mysql全文索引实现搜索功能(关键词查询) 

2.全文检索的sql

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

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

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

 第一步:

全文索引的创建、使用

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

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

mysql全文索引实现搜索功能(关键词查询)

第二步:

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

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

(1)进入mysql运行环境

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

(2)查看全文索引参数

SHOW VARIABLESLIKE 'ft%';

mysql全文索引实现搜索功能(关键词查询) 

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

mysql全文索引实现搜索功能(关键词查询)

(4)修改后结果如图

 mysql全文索引实现搜索功能(关键词查询)

此时即可进行全文检索。

mysql全文索引实现搜索功能(关键词查询)


希望能帮到大家。大家如果有兴趣可以来我的网站看看:http://www.jiegelo.com