首页 > 解决方案 > Elastic Search 5.6 中的嵌套查询兼容性

问题描述

我的 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 中不起作用?

标签: elasticsearchquerydsl

解决方案


在 ES 5.6.7 中你需要这样写:

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

在此处查找文档。


推荐阅读