Docker安装带中文全文搜索插件zhparser的Postgresql数据库
上一篇讲了在已经安装了PG数据库的情况下,安装全文搜索插件zhparser遇到的问题。在一个全新的环境中安装带有全文搜索插件zhparser的PG数据库,可以使用已经做好的Docker镜像,在安装的过程中,我来说说我遇到过的问题,大部分问题来自postgresql镜像。
1、拉取zhparser的镜像
基本运行命令docker run -p 5432:5432 chenxinaz/zhparser
在docker hub中zhparser项目的地址,https://hub.docker.com/r/chenxinaz/zhparser,这个镜像基于postgresql的镜像来做的,包含postgresql的数据库,不用额外安装postgresql数据库。上面的运行命令测试还可以,不建议正式使用。
2、初始化插件
在指定数据库初始化插件,运行下面SQL:
CREATE EXTENSION zhparser;
CREATE TEXT SEARCH CONFIGURATION chinese_zh (PARSER = zhparser);
ALTER TEXT SEARCH CONFIGURATION chinese_zh ADD MAPPING FOR n,v,a,i,e,l WITH simple;
测试插件是否安装成功SQL:
select ts_debug('chinese_zh', '白垩纪是地球上海陆分布和生物界急剧变化、火山活动频繁的时代');
3、关于postgresql镜像的高级参数
zhparser的可用环境参数大部分来自postgresql镜像,可以直接查看postgresql进行的环境参数。在初始化容器的时候,不设定容器参数,之后改起来就很麻烦。
3.1、指定数据库用户和密码
docker run -d --name pg -e POSTGRES_PASSWORD=password chenxinaz/zhparser。
能指定的环境参数:
- POSTGRES_PASSWORD
- POSTGRES_USER
- POSTGRES_DB
- POSTGRES_INITDB_ARGS
- POSTGRES_INITDB_WALDIR
- PGDATA
3.2、指定数据库的配置
这个最好指定,不然在使用的时候出一些too many connections的错误就非常恶心。
#复制一个配置文件的副本到本地目录
$ docker run -i --rm postgres cat /usr/share/postgresql/postgresql.conf.sample > my-postgres.conf
# 指定配置文件的位置
$ docker run -d \
-p 15432:5432 \
-e POSTGRES_PASSWORD=password \
-v "$本地配置文件位置/postgres.conf":/etc/postgresql/postgresql.conf \
-v "$本地配置文件位置/data":/var/lib/postgresql/data \
--name=pg chenxinaz/zhparser \
-c 'config_file=/etc/postgresql/postgresql.conf'
3.3、导出数据库:
docker exec -it pg pg_dump -h localhost -U postgres 数据库名 >/data/dum.sql
还可以指定初始化容器的初始化语句,具体参考官方项目文档:https://hub.docker.com/_/postgres。
Docker安装带中文全文搜索插件zhparser的Postgresql数据库的更多相关文章
- Postgresql数据库安装中文全文搜索插件zhparser的问题
在PG数据库的基础上加装zhparser中文全文搜索插件,说实话,挺怕这些单独编译安装的插件的,因为安装PG数据库方法的不同,最后可能导致安装的插件各种安装不上,这里说一下我遇到的坑,系统环境是Cen ...
- [转]Sphinx+Mysql+中文分词安装-实现中文全文搜索
From : http://blog.csdn.net/lgm252008/article/details/5373436 1.什么是SphinxSphinx 是一个在GPLv2 下发布的一个全文检索 ...
- MySQL中文全文搜索
我们在mysql数据中可以使用match against语句解决中文全文搜索的问题 先看一个例句: SELECT * FROM v9_search WHERE `siteid`= '1' AND `t ...
- window环境下,php+sphinx+coreseek实现简单的中文全文搜索
就以我个人理解来说,sphinx其实是介于客户端和mysql之间的一个索引表,把数据库的没一条记录假设为文档,那么这个索引表其实保存的就是这条记录的关键词及其对应的文档id 1.sphinx的安装 下 ...
- django-haystack+whoosh+jieba实现中文全文搜索
先上效果图 附上个人网站:https://liyuankun.cn 安装依赖库 注意:这里我们不安装django-haystack,因为要添加中文分词的功能很麻烦,所以我直接集成了一个中文的djang ...
- Xunsearch 中文全文搜索
原文地址:http://www.yiichina.com/code/661 官网地址:http://www.xunsearch.com/ 1.安装 wget http://www.xunsearch. ...
- docker 安装 gitlab 中文社区版
docker pull twang2218/gitlab-ce-zh 创建一个docker 目录 /usr/local/docker/gitlab 创建一个 docker-compose.yml ve ...
- Docker安装ElasticSearch 以及使用LogStash实现索引库和数据库同步
1:下载 ElasticSearch 镜像 docker pull docker.io/elasticsearch:5.6.8 2:创建 ElasticSearch 容器: 注意:5.0默认分配jvm ...
- Sphinx + Coreseek 实现中文分词搜索
Sphinx + Coreseek 实现中文分词搜索 Sphinx Coreseek 实现中文分词搜索 全文检索 1 全文检索 vs 数据库 2 中文检索 vs 汉化检索 3 自建全文搜索与使用Goo ...
随机推荐
- 设计模式——<面向对象设计原则以及23种设计模式分类>
一.面向对象八大设计原则: 1.依赖倒置原则(DIP) 高层模块(稳定)不应该依赖于低层模块(变化),二者都应该依赖于抽象(稳定) . 抽象(稳定)不应该依赖于实现细节(变化) ,实现细节应该依赖于抽 ...
- Markdown文字添加颜色
转自:原文地址 添加红色 效果: 写法: $\color{red}{red}$ 添加绿色 效果: 写法: $\color{green}{green}$ 添加蓝色 效果: 写法: $\color{blu ...
- win10照片查看器不能看jpg等格式图片
1.首先,我们需要使用注册表编辑器来开启Win10系统照片查看器功能,因为其实这个功能是被隐藏了,那么按下Windows徽标键+R键,打开运行命令窗口,输入“regedit”命令. 2.打开注册表编辑 ...
- Selenium对浏览器支持的版本【2019/10/25更新】
最新的selenium与几种常用浏览器的版本兼容情况:(以下驱动,点击直接跳转官方下载地址) 尽量选择最新版本-1的浏览器,比如最新的是60,那就使用59.(建议Chrome更新至72+版本.Fire ...
- Python的传递引用
在研究神经网络的反向传播的时候,不解一点,就是修改的是神经网络的paramets,为什么影响内部的神经元(层),比如Affine层:因为除了创建的时候,使用params作为Affine层的构造函数参数 ...
- flex布局大全 2019
有句话叫做:存在即是合理. 最近很喜欢flex布局模式,不过还在摸索中,这里正一边在项目中使用和总结,也在学习一些大牛们总结的东西和布局思考. 鉴于自己很苦恼,到处去ha资料,真的,就没有一个系统的, ...
- [LeetCode] 689. Maximum Sum of 3 Non-Overlapping Subarrays 三个非重叠子数组的最大和
In a given array nums of positive integers, find three non-overlapping subarrays with maximum sum. E ...
- mysql 5.7 sql_mode设置 坑
原文地址:https://blog.csdn.net/u012259256/article/details/56482218 1.查看sql_mode select @@sql_mode查询出来的值为 ...
- Python下numpy的使用
首先:当然是欢迎大家了! Numpy : NumPy系统是Python的一种开源的数值计算扩展.这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structur ...
- docker下安装nginx并实现https访问
一.启动容器 docker run --detach --name wx-nginx -p 443:443 -p 80:80 -v /home/nginx/data:/usr/share/nginx/ ...