Elasticsearch 匯總數(shù)據(jù)

匯總作業(yè)是一項周期性任務,它匯總索引模式指定的索引中的數(shù)據(jù),并將其匯總到新索引中。在下面的示例中,我們創(chuàng)建了一個名為sensor的索引,該索引具有不同的日期時間戳。然后我們創(chuàng)建一個rollup作業(yè),使用cron job周期性地從這些索引中匯總數(shù)據(jù)。

PUT /sensor/_doc/1
{
   "timestamp": 1516729294000,
   "temperature": 200,
   "voltage": 5.2,
   "node": "a"
}

在運行上面的代碼時,我們得到以下結果-

{
   "_index" : "sensor",
   "_type" : "_doc",
   "_id" : "1",
   "_version" : 1,
   "result" : "created",
   "_shards" : {
      "total" : 2,
      "successful" : 1,
      "failed" : 0
   },
   "_seq_no" : 0,
   "_primary_term" : 1
}

現(xiàn)在,為其他文檔添加第二個文檔,依此類推。

PUT /sensor-2018-01-01/_doc/2
{
   "timestamp": 1413729294000,
   "temperature": 201,
   "voltage": 5.9,
   "node": "a"
}

創(chuàng)建匯總作業(yè)

PUT _rollup/job/sensor
{
   "index_pattern": "sensor-*",
   "rollup_index": "sensor_rollup",
   "cron": "*/30 * * * * ?",
   "page_size" :1000,
   "groups" : {
      "date_histogram": {
         "field": "timestamp",
         "interval": "60m"
      },
      "terms": {
         "fields": ["node"]
      }
   },
   "metrics": [
      {
         "field": "temperature",
         "metrics": ["min", "max", "sum"]
      },
      {
         "field": "voltage",
         "metrics": ["avg"]
      }
   ]
}

cron參數(shù)控制作業(yè)的激活時間和激活頻率。當匯總作業(yè)的cron計劃觸發(fā)時,它將從上次激活后從上次中斷的地方開始匯總

在作業(yè)運行并處理了一些數(shù)據(jù)之后,我們可以使用DSL查詢進行一些搜索。

GET /sensor_rollup/_rollup_search
{
   "size": 0,
   "aggregations": {
      "max_temperature": {
         "max": {
            "field": "temperature"
         }
      }
   }
}
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清