【MySQL8】中文分词支持全文索引
原创
©著作权归作者所有:来自51CTO博客作者狂客7526的原创作品,请联系作者获取转载授权,否则将追究法律责任
第一步:
配置文件my.ini(Windows 10默认路径: C:\ProgramData\MySQL\MySQL Server 8.0) 中增加如下配置项,同时重启MySQL80 服务:
[mysqld]
ngram_token_size=2 #这句话可以使中文按2个文字切词,进行全文索引
第二步:
以管理员身份运行命令符提示,重启MySQL80
net stop MySQL80
net start MySQL80
第三步:
在创建的全文索引语句后加入with parser ngram(with parser ngram就是使支持中文的全文索引)
`
1. create table class(
2. id int,
3. name varchar(128),
4. teacher varchar(64),
5. comment varchar(1024),
6. fulltext index
7. index_comm(comment) with parser ngram
8. );
`
插入数据测试
`
1. insert into class
2. values(1,'一班','王老师','他是王老师'),
3. (2,'二班','张老师','他是张老师'),
4. (3,'三班','李老师','他 是李老师');
`
查询语句
`
1. select * from class where match(comment) against('老师');
2. select * from class where match(comment) against('他是王');
3. select * from class where match(comment) against('王老');
`
但是如果只查询一个字是查询不到的,因为切词时按照两个汉字切