【MySQL8】中文分词支持全文索引

参考:https://blog.csdn.net/qq_54169998/article/details/122471199

第一步:

配置文件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('王老');
    

`


     但是如果只查询一个字是查询不到的,因为切词时按照两个汉字切

posted @ 2022-11-12 12:07  狂客  阅读(273)  评论(0编辑  收藏  举报