MySQL 5.7.6開始,MySQL內置了ngram全文解析器,用來支持中、日、韓文的分詞
啓動方法
配置mysql的ngram,打開mysql server的配置文件,編輯在[mysqld]下面加入這樣的配置
# vim /etc/my.cnf [mysqld] ngram_token_size=2
查看是否開啓
mysql> show variables like 'ngram_token_size%'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | ngram_token_size | 1 | +------------------+-------+
演示數據表
CREATE TABLE `t_testfulltext` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(128) DEFAULT NULL, `data` int(11) DEFAULT NULL, PRIMARY KEY (`id`), FULLTEXT KEY `ft_index` (`name`) /*!50100 WITH PARSER `ngram` */ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
執行語句
SELECT * FROM t_testfulltext WHERE MATCH (name) AGAINST ('今天');
參考:https://cloud.tencent.com/developer/article/1634247?areaSource=&traceId=