【问题标题】:Nested Query Compatibility in Elastic Search 5.6Elastic Search 5.6 中的嵌套查询兼容性
【发布时间】:2018-12-17 07:24:18
【问题描述】:

我的 REST 调用 (POST) 中有以下有效负载,它工作正常 Elastic search 2.1.1 但在 ES 5.6.7 中没有

{"from":0,"size":5,"sort":[{"releasedDate":{"order":"desc"}}],"query":{"query_string":{"query":{"query":"demo demo*","defaultOperator":"and"}}}}

在 ES 5.6.7 中,我遇到了以下异常

{
"error": {
    "root_cause": [
        {
            "type": "parsing_exception",
            "reason": "[query_string] unknown token [START_OBJECT] after [query]",
            "line": 1,
            "col": 96
        }
    ],
    "type": "parsing_exception",
    "reason": "[query_string] unknown token [START_OBJECT] after [query]",
    "line": 1,
    "col": 96
},
"status": 400

}

任何人都知道为什么负载在 ES 5.6.7 中不起作用??

【问题讨论】:

    标签: elasticsearch querydsl


    【解决方案1】:

    在 ES 5.6.7 中你需要这样写:

    {
      "from": 0,
      "size": 5,
      "sort": [
        {
          "releasedDate": {
            "order": "desc"
          }
        }
      ],
      "query": {
        "query_string": {
          "query": "demo demo*",
          "default_operator": "and"
        }
      }
    }
    

    查找文档here

    【讨论】:

    • 不,我从 REST 服务得到以下响应 {"error":{"root_cause":[{"type":"parsing_exception","re​​ason":"[query_string] 查询不支持[defaultOperator]","line":1,"col":140}],"type":"parsing_exception","re​​ason":"[query_string] 查询不支持 [defaultOperator]","line":1, "col":140},"status":400} 。如果我删除“defaultOperator”它可以工作
    • ES 5.6 的任何原因或是否有任何官方文档??
    • 更新了@Val 的答案。它应该是 default_operator 而不是 defaultOperator
    • 谢谢@NishantSaini
    • @Val谢谢你们的回答。但我有点想知道,相同的查询如何在 ES 2.1.1 中仍然有效??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-24
    • 2019-08-11
    • 1970-01-01
    • 2016-02-10
    相关资源
    最近更新 更多