[postgres]docker下使用中文全文搜索

我们使用docker进行构建则可以使用现有的镜像chenxinaz/zhparser

流程

  1. 我们首先需要一个postgres的配置文件然后对其修改,这个可以直接从启动的容器中获取。
docker run -i --rm chenxinaz/zhparser:latest cat /usr/share/postgresql/postgresql.conf.sample > config/postgres/my_postgres.conf

然后在配置文件结尾加上这几条配置用来控制分词情况

zhparser.multi_short = true #短词复合: 1
zhparser.multi_duality = true  #散字二元复合: 2
zhparser.multi_zmain = true  #重要单字复合: 4
zhparser.multi_zall = false  #全部单字复合: 8
  1. 然后我们可以直接启动服务
docker run --name postgres_zr -v 本地数据存储位置:/var/lib/postgresql/data -v 本地路径/my_postgres.conf:/etc/postgresql/postgresql.conf -p 5432:5432 -e ALLOW_IP_RANGE=0.0.0.0/0 -e POSTGRES_USER=root -e POSTGRES_PASSWORD=123456 -e POSTGRES_DB=数据库名 -d chenxinaz/zhparser -c 'config_file=/etc/postgresql/postgresql.conf'

ALLOW_IP_RANGE 允许其他机器访问
3. 然后进行配置(postgres 默认是 english 解析器)

--连接到目标数据库,创建zhparser解析器
CREATE EXTENSION zhparser;
-- 将zhparser解析器作为全文检索配置项
CREATE TEXT SEARCH CONFIGURATION chinese (PARSER = zhparser);
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值