我有一个网络抓取工具,可以每天多次收集数据并存储快照。我的查询有一些聚合,每天将快照组合在一起,并使用top_hits
返回每天的最后一个快照。
文件如下:
"_source": {
"taken_at": "2016-02-01T11:27:09.184-03:00",
... ,
"my_metric": 113
}
我希望能够计算某个指标的衍生工具,比如 my_metric
返回的文件的top_hits
,(即衍生工具)每天的最后一个快照my_metric
)。
这是我到目前为止所拥有的:
{
"aggs": {
"filtered_snapshots": {
"filter": {
// ...
},
"aggs" : {
"grouped_data": {
"date_histogram": {
"field": "taken_at",
"interval": "day",
"format": "YYYY-MM-dd",
"order": { "_key" : "asc" }
},
"aggs": {
"resource_by_date": {
"terms": { "field": "remote_id" },
"aggs": {
"latest_snapshots": {
"top_hits": {
"sort": { "taken_at": { "order": "asc" }},
"size" : 1
}
}
}
},
"my_metric_deriv": {
"derivative": {
"buckets_path": "resource_by_date>latest_snapshots>my_metric"
}
}
}
}
}
}
}
}
我得到一个"没有为路径找到聚合[my_metric] ..."上面的查询出错。
我使用了错误的bucket_path吗?我已经阅读了bucket_path和derivative文档,并找不到可能有用的内容。
该文档简要提及" deep metrics",声明它们可能在某些方面受到限制,我无法理解。我不确定这些限制是如何或是否会影响我的情况。