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

elasticsearch日期范围筛选器错误“没有为[filtered]注册的[query]”

严承允
2023-03-14

我需要使用过滤器从elasticsearch获得结果(日期范围)

这是我的疑问,

'{
    "sort" : [{ "bytes" : {"order" : "desc"}}],
    "query": {
              "filtered": {
                   "query": { "match_all": {} },
                       "filter": {
                           "range": {
                                "@timestamp": {
                                    "gte": "2017-11-07T00:00:01Z",
                                    "lte": "2017-11-12T00:00:01Z"
                                 }
                            }
                       }
                  }
            }
 }'

运行此查询时,我收到一个错误“no[query]registered for[filtered]”。我遵循elasticsearch页面上过滤查询文档中给出的格式。

https://www.elastic.co/guide/en/elasticsearch/reference/1.4/_executing_filters.html

共有1个答案

黄骏喆
2023-03-14

ES 5.0的语法已更改,filtered查询将替换为bool查询。你要改变的是,下面的两行

      "filtered": {
           "query": { "match_all": {} },

通过

"bool" : {
   "must" : {  "match_all": {} },
}
 类似资料:
  • 我试图构造一个ElasticSearch查询,但没有得到预期的结果。任何帮助都将不胜感激! 映射详细信息: null null 目前,每个嵌套的轮班文档都包含一个嵌套的calendarBlock文档,其中包含开始和结束日期时间字段,以及一个可以注册该轮班的最大志愿者人数字段。 查询 我试图构造的查询是经过筛选的查询。从Web上的窗体传入查询字符串。然后,我需要以编程方式将至少三个筛选器附加到这个查

  • 我正在尝试添加一个带有日期范围筛选器的服务器端datatable实现。筛选器不筛选任何数据。我不知道它坏在哪里。需要你帮我弄清楚我错在哪里。 这是剧本。 这是Html

  • 我有一个查询,我需要过滤出结果。 这是我的查询 我得到一个错误,说注册[query]。我显然有一个筛选字段的查询。我遵循elasticsearch页面上筛选的查询文档中给出的格式。https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-filtered-query.html

  • 所有人。这是一个带有elasitcsearch文档url的简单测试代码

  • 我想查询日期范围内的elasticsearch文档。我现在有两个选择,都很适合我。我已经测试了他们两个。1.范围查询2。距离滤波器 因为我现在有一个小数据集,所以无法测试它们的性能。这两者有什么区别?哪一种方法可以更快地检索文档和响应?

  • 我有一个问题,就是在MongoDB上使用数组中的范围过滤一个日期。 文件1: 文件2: 简历: 我有2份文件: 文档1(嵌入数组上的2个元素): 项目。0.bookingStart:“2022-03-19T00:00:00.000Z” 文档1(Embed数组上的1个元素): 项目。0.bookingStart:“2022-04-19T00:00:00.000Z” Mongo过滤器: 猫鼬过滤器: