Не могу перевести запросasticsearch в pyes - PullRequest
4 голосов
/ 30 марта 2012

Мне нужна ваша помощь, чтобы перевести запрос в pyes.Этот запрос работает правильно, проблема в том, что я не могу использовать pyes, чтобы он работал:

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" }}
             ]
        }
    }
}'

Сначала я делал это, согласно 0.17 документов :

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')

После нескольких исключений я понял, что установил 0.16, потому что 0.17 - нестабильная ветвь.

Итак, проще говоря: как я могу перевести поиск в этом запросе с помощью pyes?

Спасибо!

1 Ответ

1 голос
/ 01 апреля 2012

Похоже, невозможно перевести ваш запрос в pyes 0.16.Как вы можете видеть, конструктор TextQuery в 0.16 не имеет параметра field: https://github.com/aparo/pyes/blob/109f84696153f3be474e1d7d261776a1bca04570/pyes/query.py#L856 и, похоже, генерирует недопустимые запросы эластичного поиска.С другой стороны, ваш код должен нормально работать в 0.17.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...