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

相关推荐
酷酷-19 小时前
彩虹易支付最新版源码及安装教程(修复BUG+新增加订单投诉功能)
html·php·bug
佛系小嘟嘟1 天前
Android-由switch-case和view.getId()引起的bug:错误:需要常量表达式 的解决办法
android·bug
未来可期LJ1 天前
【测试-BUG篇】软件测试的BUG知识你了解多少呢?
软件测试·bug
软件测试很重要1 天前
追梦无Bug的软件世界
bug
我又来搬代码了2 天前
【Android】【bug】ImageView设置scaleType不生效的问题
android·bug
吴恩达亲传弟子2 天前
【Bug】解决 Ubuntu 中 “error: Unable to Find Python3 Executable” 错误
linux·ubuntu·bug
john_hjy3 天前
8. Bug 与 Error
javascript·bug
鸽芷咕4 天前
【Python报错已解决】 Encountered error while trying to install package.> lxml
开发语言·python·bug
鸽芷咕4 天前
【Python报错已解决】[notice] A new release of pip available: 22.2 -> 22.2.2
开发语言·python·bug·pip
倩倩_ICE_王王4 天前
Apache安装后无法启动的问题“不能再本地计算机启动apache”
bug·apache