加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 无法将elasticsearch查询转换为pyes

发布时间:2020-12-20 13:27:25 所属栏目:Python 来源:网络整理
导读:我需要你的帮助才能将查询翻译成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_
我需要你的帮助才能将查询翻译成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翻译查询?

谢谢!

解决方法

似乎无法将您的查询转换为pyes 0.16.正如您所看到的,0.16中的TextQuery构造函数没有字段参数: https://github.com/aparo/pyes/blob/109f84696153f3be474e1d7d261776a1bca04570/pyes/query.py#L856,它似乎生成无效的elasticsearch查询.另一方面,您的代码应该在0.17中正常工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读