报告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 修改字典后在每个连接在开始分词之前都需要重新加载字典;

相关推荐
phantom_1113 天前
Cursor 分析 bug 记录
bug·cursor
Direction_Wind4 天前
Flinksql bug: Heartbeat of TaskManager with id container_XXX timed out.
大数据·flink·bug
AIBigModel7 天前
智能情趣设备、爆 bug:可被远程操控。。。
网络·安全·bug
Direction_Wind7 天前
flinksql bug: Received resultset tuples, but no field str
bug
远瞻。7 天前
【bug】diff-gaussian-rasterization Windows下编译 bug 解决
windows·bug
中草药z7 天前
【测试】Bug+设计测试用例
功能测试·测试工具·测试用例·bug·压力测试·测试
我又来搬代码了8 天前
【Android】【bug】Json解析错误Expected BEGIN_OBJECT but was STRING...
android·json·bug
葵野寺8 天前
【软件测试】BUG篇 — 详解
bug·测试
青青子衿越10 天前
微信小程序右上角分享页面找不到路径bug
微信小程序·小程序·bug
刘火锅11 天前
Bug 记录:SecureRandom.getInstanceStrong()导致验证码获取阻塞
spring boot·spring·spring cloud·bug