PostgreSQL使用zhparser自定义分词

Zhparser是pg的一个中文全文检索插件,它基于简单中文分词(SCWS)实现中文解析器。
我们在使用zhparser时常常会遇到的一个问题就是:我们想要分词的词语无法被识别。

例如:

bill=# SELECT * FROM ts_parse('zhparser', '支付宝使用很方便');
 tokid | token 
-------+-------
   118 | 支付
   110 |118 | 使用
   100 |118 | 方便
(5 rows)

上面这一句话中,默认的分词词库中无法识别“支付宝”这个词语,于是将它切成了“支付”和“宝”两个词,显然这不是我们希望看到的。那么我们要怎么重新自定义词库呢?
zhparser中支持自定义词库这一功能,自定义词库需要superuser权限, 自定义库是数据库级别的。

–将“支付宝”词加入词库中

bill=# insert into zhparser.zhprs_custom_word values('支付宝');
INSERT 0 1
bill=# select sync_zhprs_custom_word();
 sync_zhprs_custom_word 
------------------------
 
(1 row)

–重新登录数据库查看

bill=# SELECT * FROM ts_parse('zhparser', '支付宝使用很方便');
 tokid | token  
-------+--------
   120 | 支付宝
   118 | 使用
   100 |118 | 方便
(4 rows)

可以看到我们已经将“支付宝”这个词语加入到我们自定义的词库中了!

发布了81 篇原创文章 · 获赞 16 · 访问量 7590

猜你喜欢

转载自blog.csdn.net/weixin_39540651/article/details/104042435