暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【UXDB】优炫数据库安装与配置

原创 UXDB 2019-12-27
2480

1. 安装zhparser

1.1. 载入postgres_adaptor库

  1. 功能开启:
    修改配置文件uxsinodb.conf,,加载postgres_adaptor库:
    shared_preload_libraries = ‘postgres_adaptor’
  2. 重启dbserver。

image.png

1.2. 安装zhparser解析器

uxsql -d uxdb -U uxdb
uxdb=# CREATE EXTENSION zhparser;
uxdb=# \dFp
List of text search parsers
 Schema | Name | Description 
------------+----------+---------------------
 public | zhparser | 
 ux_catalog | default | default word parser

新增“zhparser”FTS解析器。

2. 获得解析器定义的token类型

uxdb=# select ts_token_type('zhparser');
 ts_token_type 
-----------------------------------------
 (97,a,adjective)
 (98,b,"differentiation (qu bie)")
 (99,c,conjunction)
 (100,d,adverb)
 (101,e,exclamation)
 (102,f,"position (fang wei)")
 (103,g,"root (ci gen)")
 (104,h,head)
 (105,i,idiom)
 (106,j,"abbreviation (jian lue)")
 (107,k,head)
 (108,l,"tmp (lin shi)")
 (109,m,numeral)
 (110,n,noun)
 (111,o,onomatopoeia)
 (112,p,prepositional)
 (113,q,quantity)
 (114,r,pronoun)
 (115,s,space)
 (116,t,time)
 (117,u,auxiliary)
 (118,v,verb)
 (119,w,"punctuation (qi ta biao dian)")
 (120,x,unknown)
 (121,y,"modal (yu qi)")
 (122,z,"status (zhuang tai)")

表:token类型
image.png
image.png

3. 配置实例

3.1 创建FTS配置

uxdb=# CREATE TEXT SEARCH CONFIGURATION testzhcfg (PARSER = zhparser);

3.2 添加token映射

uxdb=# ALTER TEXT SEARCH CONFIGURATION testzhcfg ADD MAPPING FOR
a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z WITH simple;

为防止遗漏造成匹配失败,将所有token类型全部映射。如果有未添加的token类型,将被屏蔽。示例如下:

uxdb=# CREATE TEXT SEARCH CONFIGURATION testzhcfg1 (PARSER = zhparser);
uxdb=# ALTER TEXT SEARCH CONFIGURATION testzhcfg1 ADD MAPPING FOR
 n,v,a,i,e,l WITH simple;
uxdb=# SELECT to_tsvector('testzhcfg1','南大 北大 东大 西大') ;
to_tsvector
----------------------------
'东大':2 '北大':1 '西大':3
uxdb=# SELECT to_tsvector('testzhcfg','南大 北大 东大 西大') ;
to_tsvector
-------------------------------------
'东大':3 '北大':2 '南大':1 '西大':4
uxdb=# SELECT ts_debug('testzhcfg','南大 北大 东大 西大') ;
ts_debug
-----------------------------------------
 (j,"abbreviation (jian lue)",南大,{},,)
 (n,noun,北大,{simple},simple,{北大})
 (n,noun,东大,{simple},simple,{东大})
 (n,noun,西大,{simple},simple,{西大})

词典使用的是内置的simple词典,仅做小写转换。词典被用来移除停用词并规范化词。一个被成功地规范化的词被称为一个词位。除了提高搜索质量,规范化和移除停用词减小了文档的tsvector表示的尺寸,因而提高了性能。

根据需要可以灵活定义词典和token映射。

最后修改时间:2019-12-27 12:32:46
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论