跳转至

中文全文分词扩展

中文分词扩展

SeaboxSQL数据库提供的SDCNparser扩展支持 UTF-8 编码的中文全文检索方案。本节即介绍如何安装及使用该扩展:

  1. 安装扩展组件

使用数据库管理员连接数据库服务,执行以下命令

# CREATE EXTENSION SDCNparser;
CREATE EXTENSION
  1. 创建全文搜索配置

使用数据库管理员连接数据库服务,执行以下命令:

# 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
  1. 创建数据表并插入数据
# 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
  1. 给目标表创建索引
# create index tsv_idx on test using gin(to_tsvector('testcncfg',name));
CREATE INDEX
  1. 使用索引
# select * from test where to_tsvector('testcncfg',name) @@ to_tsquery('testcncfg','中国');
 id |            name            
----+----------------------------
  3 | 中国人民将军队建设放在首位
  4 | 伟大中国
(2 rows)