elasticsearch 在嵌套字段上执行直方图时,如何获取最后一个值?,elasticsearch,elasticsearch" /> elasticsearch 在嵌套字段上执行直方图时,如何获取最后一个值?,elasticsearch,elasticsearch" />

elasticsearch 在嵌套字段上执行直方图时,如何获取最后一个值?

elasticsearch 在嵌套字段上执行直方图时,如何获取最后一个值?,elasticsearch,elasticsearch,这与我先前的问题有关: 过程 我目前正在制定一个Elasticsearch查询,该查询将获取每天基于某个范围的所有文档,但我正在处理的字段是嵌套字段。所以想象一下,就像我每天根据我的范围计算文档总数一样 再现场景 日期范围:9月15日至9月17日 9月15日:发现1000份文件 9月16日:发现500份文件 9月17日:发现1500份文件 以下是我的示例查询: 'aggs' => [ 'ENGAGEMENT' => [ 'nested' => [

这与我先前的问题有关:

过程 我目前正在制定一个Elasticsearch查询,该查询将获取每天基于某个范围的所有文档,但我正在处理的字段是嵌套字段。所以想象一下,就像我每天根据我的范围计算文档总数一样

再现场景

日期范围:9月15日至9月17日

9月15日:发现1000份文件 9月16日:发现500份文件 9月17日:发现1500份文件

以下是我的示例查询:

'aggs' => [
    'ENGAGEMENT' => [
        'nested' => [
            'path' => "eng"
        ],
        'aggs' => [
            'ARTICLES' => [
                //Use Histogram because the pub_date is of
                //long data type
                //Use interval 86400 to represent 1 day
                'histogram' => [
                    'field'  => "eng.date_updated",
                    "interval" => "86400",
                ]
            ]
        ]
    ]
]
以下是我的Elasticsearch文档示例:

在上述给定场景和示例中,当前查询显示此输出

我的主要目标 有了这些安排好的想法,我如何检索嵌套字段中每天的最后一个对象

例如:

对于9月15日,我想检索当天的最后一次soc_like_计数 对于9月16日,我还想检索当天的最后一次soc_like_计数,以此类推

尝试过的解决方案

试图对内部点击进行实验,但在阅读了一段时间后,内部点击仅在ES查询的主体部分可用

有没有办法通过elasticsearch查询执行此操作?

使用子聚合

  "aggs": {
    "date": {
      "date_histogram": {
        "field": "eng.date_updated",
        "interval": "month"
      },
      "aggs": {
        "top_hits": {    ---> added as sub aggregation to date_histogram
          "top_hits": {
            "sort": [
                        {
                        "date": {   ---> replace by field name you want to sort
                                    "order": "desc"
                              }
                      }
             ],
            "size": 1
          }
        }
      }
    }
  }