PostgreSQL基于SCWS、Zhparser插件全文检索环境安装
- 提到全文检索,我们会想到Elasticsearch、Lucene等功能强大的搜索引擎,但或许我们仅需要实现一些简单的全站搜索或是字符匹配功能,此时引入Elasticsearch、Lucene搜索引擎或许过于重量,使用这些重量级的搜索引擎得需要性能强悍的服务器,还需要处理数据同步与数据一致性问题。
- PostgreSQL数据库自身具备全文检索功能,PostgreSQL全文检索是通过FTS(FTS(full text search,全文检索)是一个带有一定“智能”的搜索工具包)配置库来支持的,FTS 是 PostgreSQL 原生自带的一个功能模块,不需要单独安装,但是很不幸FTS默认不具备中文配置库
- PostgreSQL自带的parser插件适用于分词比较简单的语言(如英语),按照标点、空格切分语句即可获得有含义的词语,而中文比较复杂,词语之间没有空格分隔,长度也不固定,分词还和语义有关,因此parser不能用来做中文分词
- PostgreSQL提供了多种索引类型,其中有两种索引可以被用来加速全文搜索,GIN(通用倒排索引) 和 GiST 索引类型。如果没有特殊的需求GIN更适合全文检索的索引。
1、centos7源码安装PostgreSQL12
全文检索需要安装scws、zhparser插件,推荐源码安装postgresql避免依赖缺失问题
yum方式安装参考
1.1、前置操作(root用户下操作)
-
如果已存在yum安装的postgresql,提供以下卸载方式
-
# 停止postgresql,此处为注册了服务的停止方式,12版本 systemctl stop postgresql-12 # 卸载 包含postgresql名的程序包 yum remove postgresql* # 删除postgres用户及其对应的用户目录(/home/postgres) userdel -r postgres # 检查是否存在 /usr/psqlXXX文件夹,有的话删除,例如 rm -rf /usr/pgsql-12
-
-
创建用户及用户组
-
这里创建postgres用户是因为启动postgresql仅允许非root用户进行
-
# 创建postgres用户组 groupadd postgres # 创建postgres用户,用户位于postgres组内 useradd -g postgres postgres
-
-
依赖安装
-
yum install gcc yum install readline-devel.x86_64 yum install zlib-devel.x86_64
-

本文详细介绍了如何在CentOS 7环境下,源码安装PostgreSQL 12,并配置SCWS和Zhparser插件,以实现中文全文检索功能。包括创建用户、依赖安装、插件编译和安装,以及全文检索配置和使用方法。
最低0.47元/天 解锁文章
1338

被折叠的 条评论
为什么被折叠?



