私はPostgreSQL JSONBカラム内のクイック検索機能の解決策を見つけようとしています。要件は、任意のJSONキーで値を検索できることです。PostgreSQL JSONクイック検索(任意のキーからの検索値)
表構造:
TABLEエンティティ( 識別BIGINT NULL NOT、 JTYPEキャラクタ変化(64)、NOT NULL、 JDATA jsonb、 CONSTRAINT entity_pk PRIMARY KEY(ID)を)を作成
アイデアは、1つのテーブルに異なるタイプのjsonsを格納し、jtypeはjsonエンティティタイプ、jdata-jsonデータを定義します。
jtype='person',jvalue = '{"personName":"John", "personSurname":"Smith", "company":"ABS Software", "position":"Programmer"}'
jtype='company', jvalue='{"name":"ABS Software", "address":"Somewhere in Alaska"}'
目標は、「ABS」と入力して社内で働いている会社と社員の両方のレコードを検索できるクイック検索を行うことです。
オラクルDBのアナログ機能が含まれて:
SELECT JTYPE、(jvalue、 'ABS')を含むエンティティからjvalueを> 0。
GINインデックスのみ
GINインデックスを効率的jsonb文書(データム)の多数内で発生するキーまたはキー/値 ペアを検索するために使用することができる検索キー/値のペアを可能にします。 2つの GIN「オペレータクラス」が提供され、異なるパフォーマンスの と柔軟性のトレードオフを提供します。
https://www.postgresql.org/docs/current/static/datatype-json.html#JSON-INDEXING
Thnk's、私たちはPosgresql 10に移行しました。この機能を使用します – karuuzo