2012-09-26 13 views
7

Hay bibliotecas para hacer esto pyes y pyelasticsearch. El pyelasticsearch website se ve bien, y pyes toma otro enfoque, pero también está bien.¿Qué es mejor consultar elasticsearch desde python?

Por otro lado, este código funciona y es muy simple.

import urllib2 as urllib 
import json 
import pprint 

query = { 
    "from":0, 
    "size":10, 
    "query":{ 
     "field" : { 
      "name" : "david" 
     } 
    }, 
    "sort":[ 
     {"name":"asc"}, 
     {"lastName":"asc"} 
    ] 
} 

query = json.dumps(query) 
response = urllib.urlopen(
    'http://localhost:9200/users/users/_search', 
    query 
) 

result = json.loads(response.read()) 

pprint.pprint(result) 

Así que estoy pensando en utilizar el código simple en lugar de aprender los trucos de las bibliotecas.

+0

esto está bien ... aunque la gente suele usar urllib2.urlopen ... Creo que resuelve algunos problemas de urllib ... –

+0

@JoranBeasley, urllib2 se está utilizando. – John

+0

oh sí ... no me di cuenta antes ... –

Respuesta

7

No hay nada de malo en su enfoque de usar la API REST para interactuar con ElasticSearch.

Pyes y las otras bibliotecas proporcionan un envoltorio alrededor de la API REST para que pueda escribir el código Python y oponerse a la creación de las consultas JSON usted mismo.

Cuestiones relacionadas