注册
全文索引中文分词测试
专栏/技术分享/ 文章详情 /

全文索引中文分词测试

西索 2025/06/06 150 0 0
摘要

全文索引中的中文最大分词和最小分词测试
创建测试表:

create table t_CONTEXT(id int,name varchar);

创建全文索引,自动更新,使用中文最大分词

CREATE CONTEXT INDEX INDEX0001 ON t_CONTEXT(name) LEXER CHINESE_FP_LEXER sync transaction;

插入测试数据

insert into t_CONTEXT values(1,'我是中国人');
insert into t_CONTEXT values(2,'我是中国人de');
insert into t_CONTEXT values(3,'中国人');
insert into t_CONTEXT values(4,'中国人民万岁');
insert into t_CONTEXT values(5,'中华人民');
insert into t_CONTEXT values(6,'我是中国人民');
commit;

查询sql:

select * from t_CONTEXT where CONTAINS(name,'中国人');

结果,6条都能查到,即包含‘中国人’的都能查到
image.png
删除全文索引,并新建一个中文最小分词的全文索引

drop CONTEXT INDEX INDEX0001 ON t_CONTEXT;
CREATE CONTEXT INDEX INDEX0001 ON t_CONTEXT(name) LEXER CHINESE_LEXER sync transaction;

再次查询sql:结果只有3条
image.png
image.png
image.png
分词规律为从后往前,组成分词(会尽量跟前面的字组成一个有意义的词语),例如’中国人民万岁’,大概会分为’万岁’,‘中国人民’,最小分词不会拆的很细,最大分词则几乎包含所有可能
小结下,涉及中文的全文索引尽量使用最大分词,中文最小分词使用要谨慎,要关注业务实际情况,测试要完善

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服