全文索引中的中文最大分词和最小分词测试
创建测试表:
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条都能查到,即包含‘中国人’的都能查到
删除全文索引,并新建一个中文最小分词的全文索引
drop CONTEXT INDEX INDEX0001 ON t_CONTEXT;
CREATE CONTEXT INDEX INDEX0001 ON t_CONTEXT(name) LEXER CHINESE_LEXER sync transaction;
再次查询sql:结果只有3条
分词规律为从后往前,组成分词(会尽量跟前面的字组成一个有意义的词语),例如’中国人民万岁’,大概会分为’万岁’,‘中国人民’,最小分词不会拆的很细,最大分词则几乎包含所有可能
小结下,涉及中文的全文索引尽量使用最大分词,中文最小分词使用要谨慎,要关注业务实际情况,测试要完善
文章
阅读量
获赞