4 votes

Impossible de traduire une requête elasticsearch en pyes

J'ai besoin de votre aide pour traduire une requête en pyes. Cette requête fonctionne correctement, le problème est que je ne peux pas utiliser pyes pour la faire fonctionner :

curl -XGET 'http://127.0.0.1:9200/my_index/user/_search?pretty=1' -d '{
    "query" : {
        "bool":{
            "should": [
               { "text": { "first_name": "em" }},
               { "text": { "first_name.partial": "em" }}
             ]
        }
    }
}'

Au début, je faisais ça, selon 0.17 docs :

q1 = TextQuery("first_name","em")
q2 = TextQuery("first_name.partial","em")
q = BoolQuery(should=[q1, q2])
conn.search(q,indices='my_index',doc_types='user')

Après quelques exceptions soulevées, je me suis rendu compte que j'ai installé la 0.16, car la 0.17 est une branche instable.

Donc, pour faire simple : Comment puis-je traduire la recherche de cette requête avec pyes ?

Gracias.

1voto

imotov Points 15513

Il ne semble pas être possible de traduire votre requête dans pyes 0.16. Comme vous pouvez le voir, le constructeur de TextQuery dans la version 0.16 n'a pas le paramètre field : https://github.com/aparo/pyes/blob/109f84696153f3be474e1d7d261776a1bca04570/pyes/query.py#L856 et il semble générer des requêtes elasticsearch invalides. D'autre part, votre code devrait fonctionner correctement dans la version 0.17.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X