2012-09-25 28 views
6

¿Alguien sabe cómo crear índices en datos JSON en PostgreSQL 9.2?Cómo indexar datos JSON en PostgreSQL 9.2?

Datos de ejemplo:

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

Di si quieren índice sobre todas las claves de cómo hacerlo?

Gracias.

+0

¿Hay una razón por la que está almacenando JSON sencillo y no se separa en columnas de tabla? ¿Y alguna razón por la que no aceptas las respuestas? – Ian

+0

Estoy evaluando el soporte de tipo JSON PostgreSQL 9.2 y de ahí la necesidad. No veo una configuración que inhabilita la recepción de respuestas? ¿Hay algo como eso? – ankurvsoni

+0

Tal vez eche un vistazo a: http://people.planetpostgresql.org/andrew/index.php?/archives/249-Using-PLV8-to-index-JSON.html – Ian

Respuesta

2

Actualmente no hay funciones integradas para indexar JSON directamente. Pero puede hacerlo con un índice basado en función donde la función está escrita en JavaScript.

Ver esta entrada del blog para más detalles: http://people.planetpostgresql.org/andrew/index.php?/archives/249-Using-PLV8-to-index-JSON.html

Hay otra entrada en el blog de la que habla de JSON y la forma en que se puede utilizar con JavaScript: http://www.postgresonline.com/journal/archives/272-Using-PLV8-to-build-JSON-selectors.html

+0

Pero en mi caso, necesito indexar todo en el objeto json. ¿Hay una manera de hacer eso? – ankurvsoni

+0

@ankurvsoni: no, no lo creo. –

+0

Tenga en cuenta que desde 9.3 hay [Funciones y operadores JSON] (http://www.postgresql.org/docs/9.3/static/functions-json.html). – dukedave