PostgreSQL 安装中文全文检索插件zhparser扩展

背景

RAG系统中,单一检索方式有局限:

  • 向量搜索 :理解语义,但可能遗漏精确关键词匹配
  • 关键词搜索 :精确匹配,但无法理解语义
    混合搜索 结合两者优势,提升检索准确率。

所以在 PostgreSQL 中安装 zhparser 扩展,主要是为了解决中文分词的问题(因为 PostgreSQL 原生按空格分词,不适合中文)。

安装过程分为两步:先安装底层的分词库 SCWS,再安装 PostgreSQL 插件 zhparser

以下是基于 Linux (Ubuntu/Debian) 系统的详细安装步骤:


1. 安装依赖

首先确保系统中有编译工具和 PostgreSQL 服务端开发文件。如果没有查看

PostgreSQL 向量扩展插件pgvector安装


2. 安装 SCWS (中文分词库)

zhparser 依赖于 SCWS 库来执行实际的分词工作。

复制代码
cd /tmp
# 下载并解压 (请检查官网是否有更新版本)
wget https://github.com/hightman/scws/archive/refs/tags/1.2.3.tar.gz
tar -zxvf 1.2.3.tar.gz
cd scws-1.2.3

# 编译安装
./configure --prefix=/usr/local
make && sudo make install

3. 安装 zhparser 插件

复制代码
cd /tmp
git clone https://github.com/amutu/zhparser.git
cd zhparser

# 编译安装 (指定SCWS的安装路径)
# 如果configure报错,需要先运行 ./autogen.sh
make SCWS_HOME=/usr/local
make install SCWS_HOME=/usr/local

如果咩有git报错如下

出现 -bash: git: command not found 错误,说明你的 Linux 系统中没有安装 git 工具。

执行命令解决

复制代码
yum install git
验证安装是否成功
git --version

4. 在 PostgreSQL 数据库中启用

切换到 postgres 用户,在目标数据库中创建扩展。

在 SQL 交互界面中执行:

复制代码
-- 创建扩展
CREATE EXTENSION zhparser;

-- 1. 创建文本搜索配置,命名为 'zhparser',并指定使用 zhparser 解析器
CREATE TEXT SEARCH CONFIGURATION zhparser (PARSER = zhparser);

-- 2. 配置词性映射(告诉数据库哪些词性需要被索引)
-- 这里的 'simple' 是 PostgreSQL 内置的词典,负责处理(通常是转小写和去停用词)
ALTER TEXT SEARCH CONFIGURATION zhparser 
ADD MAPPING FOR n,v,a,i,e,l,j WITH simple;

测试如下

相关推荐
yejqvow128 小时前
CSS项目样式如何模块化_应用BEM规范构建组件化逻辑
jvm·数据库·python
m0_748920368 小时前
宝塔面板安装后无法访问宝塔官网接口_检查服务器外网连通性
jvm·数据库·python
qq_342295828 小时前
如何用 Chrome 的 Rendering 面板监控页面的重排频率
jvm·数据库·python
u0109147608 小时前
SQL如何高效统计分类下的多项指标_善用CASE WHEN与SUM聚合
jvm·数据库·python
HHHHH1010HHHHH8 小时前
如何在MongoDB中实现按时间跨度的分片路由_时间序列范围分片与冷热节点架构
jvm·数据库·python
m0_515098429 小时前
Python测试框架如何处理重载_在pytest中使用mocker控制调用
jvm·数据库·python
yngsqq9 小时前
运行c#脚本
开发语言·数据库·c#
weixin_381288189 小时前
HTML函数在旧版Windows跑得动吗_系统版本与硬件协同影响【指南】
jvm·数据库·python
qq_330037999 小时前
HTML怎么显示同步冲突提示_HTML“云端有更新”解决选项【教程】
jvm·数据库·python
2301_816660219 小时前
HTML怎么创建多语言切换器_HTML语言选择下拉结构【指南】
jvm·数据库·python