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

相关推荐
luming-0215 小时前
报错解决:IDEA终端输出和CMD终端输出Maven版本不一致
java·缓存·bug·intellij-idea
秃头小饼干20 小时前
技术文章大纲:Bug悬案侦破大会
bug
hui函数2 天前
Python系列Bug修复PyCharm控制台pip install报错:如何解决 pip install 网络报错 企业网关拦截 User-Agent 问题
python·pycharm·bug
hui函数2 天前
如何解决 pip install 代理报错 SOCKS5 握手失败 ReadTimeoutError 问题
bug·pip
f***24112 天前
Bug悬案:程序员破案实录
bug
一条咸鱼_SaltyFish3 天前
[Day10] contract-management初期开发避坑指南:合同模块 DDD 架构规划的教训与调整
开发语言·经验分享·微服务·架构·bug·开源软件·ai编程
雒珣3 天前
qt界面和图片疯狂变大的bug问题
开发语言·qt·bug
天才测试猿3 天前
软件测试之bug分析定位技巧
软件测试·python·selenium·测试工具·职场和发展·测试用例·bug
zhz52143 天前
后端代码规范文档示例
重构·bug·代码规范·结对编程
luming-024 天前
java报错解决:sun.net.utils不存
java·经验分享·bug·.net·intellij-idea