报告pg_jieba中的bug

PostgreSQL是多进程,pg_jieba的字典数据在每个进程中都加载了比较耗费内存,个人觉得字典数据应该加载在share_buffers中.

使用字典中不存在的关键字"新华三" 证明如下:

1 启动二个psql客户端,分别为A和B,在A和B中分别执行

sql 复制代码
select to_tsvector('public.jiebacfg', '新华三');

输出,A和B结果完全相同

bash 复制代码
   to_tsvector
-----------------
 '三':2 '新华':1
(1 行记录)

2 添加关键字

在服务器上修改文件jieba_user.dict

bash 复制代码
sudo vim jieba_user.dict

在用户字典中添加关键字"新华三"

bash 复制代码
云计算
韩玉鉴赏
蓝翔 nz
区块链 10 nz
新华三

3 终端A

sql 复制代码
--重新加载字典
select jieba_reload_dict();

select to_tsvector('public.jiebacfg', '新华三');

终端A输出

bash 复制代码
 to_tsvector
-------------
 '新华三':1
(1 行记录)

4 终端B

sql 复制代码
--因为已经在终端A中加载过字典了,所以终端B中不再加载
select to_tsvector('public.jiebacfg', '新华三');

终端B输出

bash 复制代码
   to_tsvector
-----------------
 '三':2 '新华':1
(1 行记录)

终端A和终端B中的结果完全不同

5 解决方法:

1 重启服务器,但生产环境不允许这么做;

2 修改字典后在每个连接在开始分词之前都需要重新加载字典;

相关推荐
初圣魔门首席弟子7 小时前
vscode多文件编程bug记录
java·vscode·bug
-雷阵雨-1 天前
软件测试全解析:Bug生命周期与争议解决
bug
南林yan1 天前
Bug: 升级内核后有线网络无法使用
bug
月巴月巴白勺合鸟月半1 天前
一个DevExpress的Docx文件处理的Bug的解决
c#·bug
ao_lang1 天前
软件测试-BUG篇
bug
技术小黑屋_1 天前
Vibe Coding 真正的问题并不是 Bug
bug
利来利往1 天前
lua table.remove引发的偶现bug
bug·lua·table.remove
haierccc1 天前
我发现了windows的tracert命令的一个bug---ICMP重定向包详尽分析
bug
2401_841495642 天前
Windows 系统中ffmpeg安装问题的彻底解决
windows·python·ffmpeg·bug·语音识别·下载·安装步骤
gfdgd xi3 天前
GXDE 内核管理器 1.0.1——修复bug、支持loong64
android·linux·运维·python·ubuntu·bug