Mysql全文索引實現模糊查詢

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=

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章