mysql全文检索,不再为轻量级数据单独搭建es,mysql就有分词器,查询速度比like快N倍

106 阅读1分钟

实现条件:
1、只有lnnodb和myisam存储引擎能用全文索引(查询所用引擎:show table status) 2、char、verchar、text能创建全文索引

实现步骤:
1、配置分词大小(默认是2) 在mysql配置文件末尾添加参数: ngram_token_size=1 添加后记得重启mysql 查询命令:show variables like 'ngram_token_size'

2、创建全文索引(假设表名为cc_name,字段名为cc_text) create fulltext index cc_text_index on cc_name(cc_text) whith parser ngram;

3、开始分词式的全文检索 select * from cc_name where match(cc_text) against ('游云野鹤');

注意点:

1、修改了ngram_token_size可能会导致查询数据过少,需要重新创建索引

2、先插入数据,再创建索引会比较快