当前位置: 首页 > 知识库问答 >
问题:

Elasticsearch Watcher中格式错误的查询

孟新知
2023-03-14

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

  • 字段“ht”必须小于100
  • 字段“SV”不能是“Tier1”,字段“RV”可以是其他任何内容。
  • 字段“SV”不得为“Tier2”,字段“RV”不得为“Red”。

这是我此刻的身体搜索,但它返回:

“[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"
                          }
                      }
                  }
               }
            }
        }

你能帮帮我吗?谢了。

共有1个答案

潘飞英
2023-03-14

问题出在must_not部分,您需要用附加的{...}包围每个约束

              "must_not": [
                  {"term": { "sv": "tier1" }},
                  {"bool": {
                      "must": [ 
                          { "term": { "sv": "tier2" } },
                          { "term": { "rv": "red" } }
                      ]
                   }}
              ],
 类似资料:
  • 问题内容: 我正在尝试使用elasticsearch和ruby-on- rails建立一个现有项目。我可以启动并运行该项目,但是elasticsearch查询为我返回了各种错误消息,而我的同事都没有: 这显然使我相信这与我的设置有关。我已经安装了它们的相同版本(2.4),但是即使项目附带了setup命令,也是如此: 给我超时错误。我已经检查并且服务正在运行。如果我在此方面呆了2天,将对我的设置有什

  • 在将配置单元外部表从RC格式升级为ORC格式并在其上运行MSCK修复表(当我确实从表中选择全部时)时,我得到以下错误- 将RC格式的历史数据迁移到ORC格式的新定义的过程是什么?

  • 问题内容: 我正在针对AWS Elasticsearch 5.1运行此查询,并收到格式错误的查询错误。这是请求的正文。我基本上只是在检查时间范围内是否存在该字段。 问题答案: 第二条陈述不正确:

  • 问题内容: 目前,我正在开发一项功能,该功能涉及解析从另一产品收到的XML。我决定对一些实际的客户数据进行一些测试,看起来其他产品正在允许来自用户的输入被认为是无效的。无论如何,我仍然必须尝试找出一种解析它的方法。我们正在使用,但输入出现错误,如下所示。 如你所知,说明中包含似乎是无效标签的内容。现在,此描述标签被称为是叶子标签,并且其中不应包含任何嵌套标签。无论如何,这仍然是一个问题,并且会在

  • 当我做建筑的maven项目是抛出下面的错误。我检查了我所有的代码,没有地方\或\u存在于代码中。虽然很多答案和资源指出了/vs中的错误,但我想提到的是,我没有本地更改,这个回购对我团队中的其他人来说也很好。它以前对我也很好。 我已经尝试了以下方法: 在我的mac电脑上重新安装java 能不能请一些人帮我一下。

  • 问题内容: 我想要实现一个接受与参数相同的版本,因此我编写了以下函数: 但是,它成为内部的单个数组参数,从而导致仅在格式字符串中填写单个参数。如何强制解释为可变数量的参数? 问题答案: 已经做了您想做的事。查看其来源,可以看到出了什么问题: 请注意,您的代码缺少after 。从规格: 将参数传递给…参数 如果最终参数可分配给切片类型,则在参数后跟时可以将其作为参数的值原样传递。在这种情况下,不会创