6

PostgreSQL 9.2でJSONデータにインデックスを作成する方法を知っている人はいますか?

データ例:

[
  {"key" : "k1", "value" : "v1"},
  {"key" : "k2", "value" : "v2"}
]

すべてのキーにインデックスを付けたい場合は、その方法を教えてください。

ありがとう。

4

3 に答える 3

3

少なくとも今のところ、インデックス付きフィールドにhstoreを使用する方がはるかに優れています。

CREATE INDEX table_name_gin_data ON table_name USING GIN(data);

全文検索に興味がある場合は、GISTインデックスを作成することもできます。詳細はこちら:http ://www.postgresql.org/docs/9.0/static/textsearch-indexes.html

于 2012-10-22T00:56:38.913 に答える
2

現在、JSONに直接インデックスを付ける組み込み関数はありません。ただし、関数がJavaScriptで記述されている関数ベースのインデックスを使用してこれを行うことができます。

詳細については、次のブログ投稿を参照してください:http: //people.planetpostgresql.org/andrew/index.php?/archives/249-Using-PLV8-to-index-JSON.html

JSONとJavaScriptでの使用方法について説明している別のブログ投稿があります:http ://www.postgresonline.com/journal/archives/272-Using-PLV8-to-build-JSON-selectors.html

于 2012-09-26T06:02:34.660 に答える
0

この質問は少し古いですが、選択した回答は実際には理想的なものではないと思います。json(jsonテキスト内のプロパティ値)にインデックスを付けるために、PLV8(@a_horse_with_no_nameによって提案された)で式インデックスを使用できます。

Craig Kersteinは、次のことを説明/デモンストレーションするという素晴らしい仕事をしています。

http://www.craigkerstiens.com/2013/05/29/postgres-indexes-expression-or-functional-indexes/

于 2015-11-25T13:50:03.710 に答える