首页 > 解决方案 > Elasticsearch 必须结合 mustnot 解析失败

问题描述

有谁知道如何解决以下查询?

400: {"error":{"root_cause":[{"type":"parsing_exception","re​​ason":"[someField1] 查询格式错误,查询名称后没有 start_object","line":6,"col": 22}],"type":"parsing_exception","re​​ason":"[someField1] 查询格式错误,查询名称后没有 start_object","line":6,"col":22},"status":400}

   {
      "query": {
        "bool": {
          "must": [
            {
              "someField1": true
            }
          ],
          "must_not": [
            {
              "exists": {
                "field": "someField2"
              }
            }
          ]
        }
      }
    }

标签: elasticsearch

解决方案


您缺少关于 的查询testField1,它应该是termor match

{
  "query": {
    "bool": {
      "must": [
        {
          "term": {                   <--- add this 
             "someField1": true
          }
        }
      ],
      "must_not": [
        {
          "exists": {
            "field": "someField2"
          }
        }
      ]
    }
  }
}

推荐阅读