Elasticsearch推导出深度指标

时间:2016-02-01 18:14:04

标签: elasticsearch parent-child aggregation

我有一个网络抓取工具,可以每天多次收集数据并存储快照。我的查询有一些聚合,每天将快照组合在一起,并使用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_pathderivative文档,并找不到可能有用的内容。

该文档简要提及" deep metrics",声明它们可能在某些方面受到限制,我无法理解。我不确定这些限制是如何或是否会影响我的情况。

0 个答案:

没有答案