前言
我们在工作中遇到一个字段存储jsonb 类型,并需要对这个字段进行全文索引。由于对postgres 一些字段类型不清楚,走了一些弯路这里讲解。
实践
一、postgres 和 zhparser 的安装
前面两步postgres 的安装网上挺多资料,可以省略。
zhparser 的安装网上资料比较杂乱,后续做一下补充。
二、全文索引的实践
2、1 jsonb 类型
(1)表结构的初始化,插入初始化数据
create table test2(
id int,
doc jsonb
);
--针对jsonb 插入部分值
insert into test2 values(1,'{"nickname": "gs", "tags": ["python", "golang", "db"]}')
insert into test2 values(2,'{"num":2,"nickname": "gs", "tags": ["python", "golang", "db"]}')
(2)查询部分doc 中的查询修改
查询jsonb中部分值
--扩展字段提取相应属性的值(test2 表中doc 字段 中的 nickname 属性)
select id,doc :: json->>'nickname' from test2
修改
--扩展字段提取相应属性的值 修改 doc