首先要确定是mysql 5.6以上 否则不支持 innoDB全文索引(fulltext)
我使用的环境是mysql5.7 添加步骤如下:
- 修改变量(大部分人都这么改,看情况吧)
- 添加索引
其他的就是查看索引情况和验证索引情况
修改变量
首先先查看现在的变量情况
SHOW VARIABLES LIKE 'ft%';
Value_name | Value |
---|---|
ft_boolean_syntax | + -><()~*:”“\&| |
ft_max_word_len | 84 |
ft_min_word_len | 4 |
ft_query_expansion_limit | 20 |
ft_stopword_file | (built-in) |
找到my.cnf 在 [mysqld]下添加一个变量
[mysqld]
ft_min_word_len=1
保存重启mysql
添加索引
alter table `表名` add fulltext index 索引名(索引字段1[,索引字段2,...]) with parser ngram;
查看索引结果
-- 设置全局查看表
set global innodb_ft_aux_table="库/表";
SELECT * FROM information_schema.INNODB_FT_INDEX_TABLE;
-- 查看当前都哪些表有全文索引
SELECT distinct table_schema,table_name FROM information_schema.STATISTICS WHERE index_type='fulltext'
验证
select * from `表名` where MATCH (字段名) AGAINST ('要搜索的内容');