Elasticsearch Watcher 中格式错误的查询

Malformed query in Elasticsearch Watcher

我正在尝试在 Elasticsearch 中创建一个具有以下条件的手表:

这是我目前的 body 搜索,但 returns:

"[term] 格式错误的查询,预计 [END_OBJECT] 但发现 [FIELD_NAME]":

      "body": {
          "query": {
              "bool": {
                  "must": {
                      "range": {
                          "ht": { "lt": 100 }
                      }
                  },
                  "must_not": [{
                      "term": { "sv": "tier1" },
                      "bool": {
                          "must": [ 
                              { "term": { "sv": "tier2" } },
                              { "term": { "rv": "red" } }
                          ]
                       }
                  }],
                  "filter": {
                      "range": {
                          "timestamp": {
                              "from": "now-10m",
                              "to": "now"
                          }
                      }
                  }
               }
            }
        }

你能帮帮我吗?谢谢

问题出在 must_not 部分,您需要用额外的 {...}

包围每个约束
              "must_not": [
                  {"term": { "sv": "tier1" }},
                  {"bool": {
                      "must": [ 
                          { "term": { "sv": "tier2" } },
                          { "term": { "rv": "red" } }
                      ]
                   }}
              ],