MySql5.7 InnoDB全文索引(针对中文搜索) |
您所在的位置:网站首页 › mysql中文全文搜索 › MySql5.7 InnoDB全文索引(针对中文搜索) |
在MySQL 5.7.6之前,全文索引只支持英文全文索引,不支持中文全文索引,需要利用分词器把中文段落预处理拆分成单词,然后存入数据库。 从MySQL 5.7.6开始,MySQL内置了ngram全文解析器,用来支持中文、日文、韩文分词,支持Myisam和InnoDB。 本文使用的MySQL 版本是5.7.20,InnoDB数据库引擎。 ngram全文解析器ngram就是一段文字里面连续的n个字的序列。ngram全文解析器能够对文本进行分词,每个单词是连续的n个字的序列。例如,用ngram全文解析器对“生日快乐”进行分词: n=1: '生', '日', '快', '乐' n=2: '生日', '日快', '快乐' n=3: '生日快', '日快乐' n=4: '生日快乐'MySQL 中的全文索引,有两个变量,最小搜索长度和最大搜索长度,对于长度小于最小搜索长度和大于最大搜索长度的词语,都不会被索引。通俗点就是说,想对一个词语使用全文索引搜索,那么这个词语的长度必须在以上两个变量的区间内。 这两个的默认值可以使用以下命令查看 show variables like '%ft%';可以看到这两个变量在InnoDB 两种存储引擎下的变量名和默认值 ft_min_token_size = 3; ft_max_token_size = 84;另外,MyS |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |