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 ...
随机推荐
- 廖雪峰Python笔记
△命令行模式和Python交互模式 在Windows开始菜单选择“命令提示符”,就进入到命令行模式,它的提示符类似C:\>:在命令行模式下敲命令python,就看到类似如下的一堆文本输出,然后就 ...
- severless扫盲
最近老是遇到这个话题,抽一点时间系统的学习下,severless是属于云计算部分,但是和前端息息相关(大家都这么说)- serverless是什么? 字面意思是无服务器,亦或是少服务器的.让用户无需关 ...
- session与cookie之间的关系
一.客户端与服务端请求响应的关系 USER(客户端) 请求 tomcat(服务器), 属于HTTP请求.http请求是无状态的,即每次服务端接收到客户端的请求时,都是一个全新的请求,服务器并不知道客户 ...
- zookeeper安装运行(docker)
拉取镜像docker pull zookeeper:latest 获取镜像基本信息docker inspect zookeeper mkdir /opt/zookeeper -p vim /opt/z ...
- maven依赖 dependency中scope=compile 和 provided区别
问题再现 上次这边朋友问我一个问题,就是他们在pom.xml中的dependency中,看到有一些是provided的情况,比如如下: <dependency> <groupId&g ...
- Grid数字或金额千分位或保留两位小数
formatter: 'number', formatoptions: { thousandsSeparator: "", decimalPlaces: 2 }
- (转)tomcat 安全配置文档
原文:https://www.cnblogs.com/heaven-xi/p/9961354.html 1.配置文档中使用$CATALINA_HOME变量声明为tomcat的安装目录并明确写出了tom ...
- opencv yuvNV21转RGB
void yuv420Torgb() { FILE *fp = fopen("D:\\1.yuv","rb"); ; ; uchar *yuvdata = / ...
- Word模板生成PDF文件目录出现“错误!未定义书签!”的解决办法
通过程序读取Word文档模板生成PDF时,所有目录的页码全部变为“错误!未定义书签!”,后来经过仔细研究,发现是“域”的问题. 解决办法:全选(Crtl+A),按下Crtl+F11,再打印或者另存为P ...
- oracle的merge语法
merge into trade.ttradeseat ausing trade.bs_zrt_tradeseat bon (a.L_FUND_ID = b.l_Fund_Id and a.l_bas ...