小编Nee*_*pta的帖子

jsonb键/值上的模式匹配

我正在使用PostgreSQL 9.4.我的表有一jsonb栏:

CREATE TABLE "PreStage".transaction (
  transaction_id serial NOT NULL,
  transaction jsonb
  CONSTRAINT pk_transaction PRIMARY KEY (transaction_id)
);

CREATE INDEX idxgin ON "PreStage".transaction USING gin (transaction);
Run Code Online (Sandbox Code Playgroud)

我在JSONB列中按键/值存储事务.其中一个要求是从键值中搜索客户名称,因此我运行的查询如下:

SELECT transaction as data FROM "PreStage".transaction
WHERE  transaction->>('HCP_FST_NM') ilike ('%neer%');
Run Code Online (Sandbox Code Playgroud)

我做什么似乎查询不喜欢GIN索引.如何使查询使用不区分大小写模式搜索的GIN索引?

我尝试将jsonb列更改为文本,使用gin_trgm_ops搜索所需文本对其进行索引,然后将结果转换为json然后搜索所需的键/值.这种方法似乎不起作用.

postgresql indexing json gwt-gin jsonb

4
推荐指数
1
解决办法
1997
查看次数

标签 统计

gwt-gin ×1

indexing ×1

json ×1

jsonb ×1

postgresql ×1