postgresql 全文检索 SCWS和zhparser部署

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: UPDATE report_content SET content_tsv = to_tsvector('testzhcfg',content);

postgresql 全文检索 SCWS和zhparser部署SCWS(Simple Chinese Word Segmentation)是一个用于中文文本分词的简单工具,主要基于双向最大匹配算法。

zhparser是一个用于中文文本解析的开源工具,它提供了中文分词、词性标注、命名实体识别等功能。zhparser使用最大匹配算法进行分词,支持多种精度设置,并且可以与其他自然语言处理工具集成使用。使用zhparser可以方便地进行中文文本的分析和处理,提高自然语言处理的准确率和效率。

SCWS和zhparser都是用于中文文本处理的工具,而PostgreSQL则是一个开源的关系型数据库管理系统。在PostgreSQL中,可以使用全文检索功能对文本数据进行高效检索。步骤如下:

1.安装SCWS

下载scws并解压

wget -q -O - http://www.xunsearch.com/scws/down/scws-1.2.3.tar.bz2 | tar xf -

安装scws

cd scws-1.2.3 ; ./configure ; make install

默认安装路径/usr/local/include/scws/

1
2
3
4
5
2.安装zhparser
git clone https://github.com/amutu/zhparser.git
cd zhparser
SCWS_HOME=/usr/local make&&make install
1
2
3
3.异常处理

报错1:make: pg_config:命令未找到,make: * 无目标。 停止。

解决方法:yum install postgresql-devel

报错2:zhparser.c:15:27: 致命错误:utils/varlena.h:没有那个文件或目录。编译中断...

缺失环境变量会报错

解决方法:export PATH=/opt/data/postgresql/9.5/bin:$PATH

postgresql数据库如果缺失环境变量,需要手动配置,根据自己的postgresql安装路径自行修改

vim /etc/profile
export PATH="$PATH:/u/PostgreSQL"
PG_HOME=/opt/data/postgresql/9.5
PG_BIN=/opt/data/postgresql/9.5/bin
PATH=$PATH:$PG_BIN

使环境变量生效:

source /etc/profile

验证配置变量是否生效:

echo $PG_HOME
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
postgresql配置中文文本解析

创建一个名为zhparser的扩展,该扩展用于中文文本的解析

CREATE EXTENSION zhparser;

创建一个名为testzhcfg的文本搜索配置,该配置使用zhparser解析器。

CREATE TEXT SEARCH CONFIGURATION testzhcfg (PARSER = zhparser);

添加令牌映射,在testzhcfg配置中为小写字母a-z添加映射到simple词典。

ALTER TEXT SEARCH CONFIGURATION testzhcfg ADD MAPPING FOR a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z WITH simple;

将report_content表中的content列的文本转换为tsvector类型,并使用testzhcfg配置进行中文文本的解析。然后将解析后的结果更新到content_tsv列中。

UPDATE report_content SET content_tsv = to_tsvector('testzhcfg',content);

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
7月前
|
人工智能 自然语言处理 关系型数据库
|
7月前
|
SQL 关系型数据库 MySQL
postgresql|数据库|MySQL数据库向postgresql数据库迁移的工具pgloader的部署和初步使用
postgresql|数据库|MySQL数据库向postgresql数据库迁移的工具pgloader的部署和初步使用
312 0
|
7月前
|
关系型数据库 Java 数据库
docker部署postgresql数据库和整合springboot连接数据源
docker部署postgresql数据库和整合springboot连接数据源
164 0
|
7月前
|
Oracle 关系型数据库 数据库
PostgreSQL从入门到精通教程 - 第42讲:pg_rman部署与使用
PostgreSQL从入门到精通教程 - 第42讲:pg_rman部署与使用
178 1
|
7月前
|
弹性计算 关系型数据库 分布式数据库
PolarDB for PostgreSQL部署问题之部署失败如何解决
PolarDB for PostgreSQL是基于PostgreSQL开发的一款云原生关系型数据库服务,它提供了高性能、高可用性和弹性扩展的特性;本合集将围绕PolarDB(pg)的部署、管理和优化提供指导,以及常见问题的排查和解决办法。
|
7月前
|
关系型数据库 数据库 PostgreSQL
Docker【应用 03】给Docker部署的PostgreSQL数据库安装PostGIS插件(安装流程及问题说明)
Docker【应用 03】给Docker部署的PostgreSQL数据库安装PostGIS插件(安装流程及问题说明)
426 0
|
7月前
|
关系型数据库 数据库 PostgreSQL
PostgreSQL【应用 01】使用Vector插件实现向量相似度查询(Docker部署的PostgreSQL安装pgvector插件说明)和Milvus向量库对比
PostgreSQL【应用 01】使用Vector插件实现向量相似度查询(Docker部署的PostgreSQL安装pgvector插件说明)和Milvus向量库对比
637 1
|
7月前
|
SQL 关系型数据库 数据库
PostgreSQL从小白到高手教程 - 第44讲:pg流复制部署
PostgreSQL技术大讲堂 - 第44讲:pg流复制部署
191 0
|
7月前
|
关系型数据库 Linux 数据安全/隐私保护
PostgreSQL【部署 02】在线安装PostgreSQL(Some psql features might not work 问题处理+角色密码设置+配置远程访问)
PostgreSQL【部署 02】在线安装PostgreSQL(Some psql features might not work 问题处理+角色密码设置+配置远程访问)
85 0
PostgreSQL【部署 02】在线安装PostgreSQL(Some psql features might not work 问题处理+角色密码设置+配置远程访问)
|
SQL 关系型数据库 中间件
postgresql从入门到精通 - 第35讲:中间件PgBouncer部署
postgresql技术大讲堂,从入门到精通 - 第35讲:中间件PgBouncer部署
285 1