我需要您的帮助才能将查询转换为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 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')
在提出几个例外之后,我意识到我已经安装了0.16,因为0.17是一个不稳定的分支。
所以,简单来说:如何用pyes翻译查询?
谢谢!
答案 0 :(得分:1)
似乎无法将您的查询转换为pyes 0.16。正如您所看到的,0.16中的TextQuery构造函数没有字段参数:https://github.com/aparo/pyes/blob/109f84696153f3be474e1d7d261776a1bca04570/pyes/query.py#L856,它似乎生成无效的elasticsearch查询。另一方面,您的代码应该在0.17中正常工作。