2012-09-26 5 views
7

Istnieją biblioteki, które wykonują to pyes i pyelasticsearch. The pyelasticsearch website wygląda dobrze, a pyes przyjmuje inne podejście, ale także jest w porządku.Co jest lepsze do zapytania elasticsearch z Pythona?

Z drugiej strony ten kod działa i jest bardzo prosty.

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) 

Tak więc myślę o użyciu prostego kodu zamiast uczyć się sztuczek bibliotek.

+0

To jest w porządku ... chociaż ludzie zwykle używają urllib2.urlopen ... Myślę, że rozwiązuje niektóre problemy z urllib ... –

+0

@JoranBeasley, urllib2 jest używany. – John

+0

o tak ... nie zauważyłem wcześniej .. –

Odpowiedz

7

Nie ma nic złego w podejściu do używania interfejsu API REST do interfejsu z ElasticSearch.

Pyes i inne biblioteki udostępniają otoczkę wokół REST API, dzięki czemu można napisać kod w języku Python jako przeciwny do samodzielnego budowania zapytań JSON.