中文全文分词扩展
中文分词扩展¶
SeaboxSQL数据库提供的SDCNparser扩展支持 UTF-8 编码的中文全文检索方案。本节即介绍如何安装及使用该扩展:
- 安装扩展组件
使用数据库管理员连接数据库服务,执行以下命令
# CREATE EXTENSION SDCNparser;
CREATE EXTENSION
- 创建全文搜索配置
使用数据库管理员连接数据库服务,执行以下命令:
# CREATE TEXT SEARCH CONFIGURATION testcncfg (PARSER = SDCNparser);
CREATE TEXT SEARCH CONFIGURATION
# ALTER TEXT SEARCH CONFIGURATION testcncfg ADD MAPPING FOR n,v,a,i,e,l WITH simple;
ALTER TEXT SEARCH CONFIGURATION
- 创建数据表并插入数据
# create table test(id int,name text);
CREATE TABLE
# insert into test values(1,'中国人民解放军');
INSERT 0 1
# insert into test values(2,'政府注重教育和服务');
INSERT 0 1
# insert into test values(3,'中国人民将军队建设放在首位');
INSERT 0 1
# insert into test values(4,'伟大中国');
INSERT 0 1
# insert into test values(5,'中和国');
INSERT 0 1
- 给目标表创建索引
# create index tsv_idx on test using gin(to_tsvector('testcncfg',name));
CREATE INDEX
- 使用索引
# select * from test where to_tsvector('testcncfg',name) @@ to_tsquery('testcncfg','中国');
id | name
----+----------------------------
3 | 中国人民将军队建设放在首位
4 | 伟大中国
(2 rows)