计算ElasticSearch Aggregation中当前和以前的doc之间的差异

时间:2016-03-23 08:11:16

标签: elasticsearch sum aggregation

我有和索引存储具有以下结构的度量:

{sensorId: 'sensor1', value: '13.5', 'timestamp': '2016-02-19 12:00:00'}
{sensorId: 'sensor1', value: '15.7', 'timestamp': '2016-02-19 12:02:00'}
{sensorId: 'sensor1', value: '14.3', 'timestamp': '2016-02-19 12:09:00'}
{sensorId: 'sensor1', value: '14.6', 'timestamp': '2016-02-19 12:13:00'}

有没有办法汇总这些衡量标准并返回衡量标准与之前衡量标准之差的总和?例如,操作应类似于:

"query" : {
   //operations
 },
  "aggs": {
    "difference_per_day": {
      "date_histogram": {
        "field": "timestamp",
        "interval": "day"
      },
      "aggs": {
        "difference": {
          "sum": {
            "script": "doc[index]['value'].value - doc[index-1]['value'].value"
          }
        }
      }
    }
  }

有可能吗?提前谢谢。

0 个答案:

没有答案