Сопоставление с образцом по ключу / значению 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);

Я храню транзакции в терминах ключ / значение в столбце JSONB. Одним из требований является поиск имени клиента по значению ключа, поэтому я выполняю такой запрос:

SELECT transaction as data FROM "PreStage".transaction
WHERE  transaction->>('HCP_FST_NM') ilike ('%neer%');

То, что я делаю, кажется, что запросу не нравится индекс GIN. Как сделать так, чтобы запрос использовал индекс GIN с поиском по шаблону без учета регистра?

Я пытался изменитьjsonb столбец к тексту, индексация его с помощьюgin_trgm_ops затем поиск необходимого текста, а затем преобразование результата вjson и затем поиск нужного ключа / значения. Этот подход, похоже, не работает.

Ответы на вопрос(1)

Ваш ответ на вопрос