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

Elasticsearch查询在使用带有bool的范围时抛出错误

郎同化
2023-03-14

我正在使用status fieldrange查询弹性搜索,但收到错误:

"类型":"parsing_exception","原因":"[status]查询格式错误,查询名称后无start_object"

查询如下:

{
  "_source": {
    "includes": []
  },
  "query": {
    "bool": {
      "must": [
        {
            "status": "IN_PROGRESS"
        },
        {
          "range": {
            "requestDate": {
              "gte": "2018-10-01T08:00:00.000Z",
            }
          }
        }
      ]
    }
  },
  "sort": {
    "requestDate": {
      "order": "desc"
    }
  }
}

共有1个答案

严柏
2023-03-14

错误在于您没有指定查询类型-术语或匹配-针对状态字段。因此,如果status是文本数据类型,您应该执行匹配查询:

{
  "_source": {
    "includes": []
  },
  "query": {
    "bool": {
      "must": [
        {
          "match":{            "status": "IN_PROGRESS"
        }},
        {
          "range": {
            "requestDate": {
              "gte": "2018-10-01T08:00:00.000Z",
            }
          }
        }
      ]
    }
  },
  "sort": {
    "requestDate": {
      "order": "desc"
    }
  }

}
 类似资料:
  • 问题内容: 我们有一种情况,我们必须使用“ OR”条件进行范围查询。使用一个查询,它工作正常,但是使用多个查询触发时出错。 调用模板时查询 错误 如果在must子句中添加它,则相同,它在“ AND”条件下可以完美工作。您能否以“ AND”和“ OR”条件帮助构架模板? 问题答案: 您快到了,只需要在到达数组的最后一个元素时让小胡子知道即可。因此,您的模板应如下所示(即,我们在每个元素之后添加逗号(

  • 问题内容: 为什么此查询给我一个解析异常?如果我把它移开,它似乎确实起作用。但是我需要在其中带有query_string的布尔值。我该如何工作? 问题答案: 您应该使用查询过滤器,它将所有查询包装到过滤器中。否则,您将得到解析错误。 您需要将零件更改为: @Edit:由于我看到人们可能会注意到,我只粘贴了整个查询的更改部分,包括部分(而不是整个),所以这里是修改后的全部:

  • 我正在努力为弹性搜索制定正确的API搜索调用,这将要求在过去1小时内获得我想要的ipv4address。 第一次尝试: {“error”:{“root\u cause”:[{“type”:“parsing\u exception”,“reason”:“未知键,用于[范围]中的START\u对象。”,“line”:10,“col”:12}],“type”:“parsing\u exception”,

  • 问题内容: 当运行这个查询 在这样的 它将抛出一个异常,即语法不好,很明显,因为我可以在sql-developer中运行相同的查询。 这是错误吗?我可以同时使用准备好的语句和间隔吗? 问题答案: 整个表达式都是文字,您不能简单地用变量(参数)替换它的一部分。请改用该函数。

  • 问题内容: 我正在尝试将范围查询与elasticsearch一起使用 但是弹性返回没有结果。我发现系统存在字符串包含或问题 这是该字段的映射: 问题答案:

  • 问题内容: 我尝试学习Elasticsearch将其添加到我的Rails应用程序中。我想对2个字段(就像它们只是一个字段)执行一次multi_match查询,并且还要对另一个必须等​​于1的字段(状态)进行过滤。 错误是: 请求中有什么问题?如何一起执行multi_match和BOOL? 问题答案: 使用过滤查询: 与Elasticsearch 5相同的查询:

  • 问题内容: 嗨,我有供cpu使用的文档,其中包含date_time字段。现在,我想查找日期范围内的avg cpu用法。我想出了以下解决方案。如果我是Elastic Search的新手,请告诉我是否有任何先进或更好的方法。 现在,上面的查询返回我期望的文档,该文档在/日期范围内。现在,我要做的是,使用这些文档找到所有唯一的日期,并将这些唯一的日期组合存储在中,然后针对其中的所有项目执行以下查询 现在

  • 这是一个关于2个查询的故事。一个返回结果,而另一个不返回结果。为什么? 返回结果的查询: