2012-09-25 6 views
6

Kann jemand Index für JSON-Daten in PostgreSQL 9.2 erstellen?Wie indexieren Sie JSON-Daten in PostgreSQL 9.2?

Beispieldaten:

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

sagen, wenn ich möchte auf alle Schlüssel zu indizieren, wie das zu tun?

Danke.

+0

Gibt es einen Grund, warum Sie Ebene JSON sind speichern und nicht in Tabellenspalten zu trennen? Und irgendeinen Grund, warum Sie keine Antworten akzeptieren? – Ian

+0

Ich bewerte die JSON-Typ-Unterstützung PostgreSQL 9.2 und damit die Notwendigkeit. Ich sehe keine Einstellung, die den Empfang von Antworten verhindert. Gibt es so etwas? – ankurvsoni

+0

Vielleicht werfen Sie einen Blick auf: http://people.planetpostgresql.org/andrew/index.php?/archives/249-Using-PLV8-to-index-JSON.html – Ian

Antwort

2

Momentan gibt es keine integrierten Funktionen, um JSON direkt zu indizieren. Aber Sie können es mit einem funktionsbasierten Index tun, in dem die Funktion in JavaScript geschrieben ist.

diese Blog-Post für Details: http://people.planetpostgresql.org/andrew/index.php?/archives/249-Using-PLV8-to-index-JSON.html

Es gibt eine andere Blog-Post, von dem über JSON spricht und wie es mit JavaScript verwendet werden: http://www.postgresonline.com/journal/archives/272-Using-PLV8-to-build-JSON-selectors.html

+0

Aber in meinem Fall - ich muss alles indizieren im JSON-Objekt. Gibt es eine Möglichkeit, das zu tun? – ankurvsoni

+0

@ankurvsoni: Nein, ich denke nicht. –

+0

Beachten Sie, dass seit 9.3 [JSON Functions and Operators] (http://www.postgresql.org/docs/9.3/static/functions-json.html) vorhanden sind. – dukedave