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