English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Una tarea de resumen es una tarea periódica que resume los datos de los índices especificados por el patrón de índice y los resume en un nuevo índice. En el siguiente ejemplo, creamos un índice llamado sensor que tiene diferentes marcas de tiempo. Luego creamos una tarea de resumen que resume periódicamente los datos de estos índices.
PUT /sensor/_doc/1 { "timestamp": 1516729294000, "temperature": 200, "voltage": 5.2, "node": "a" }
Al ejecutar el código anterior, obtenemos el siguiente resultado-
{ "_index" : "sensor", "_type" : "_doc", "_id" : ""1", "_version" : 1, "result" : "created", "_shards" : { "total" : 2, "successful" : 1, "failed" : 0 }, "_seq_no" : 0, "_primary_term" : 1 }
Ahora, agrega un segundo documento para otros documentos, y así sucesivamente.
PUT /sensor-2018-01-01/_doc/2 { "timestamp": 1413729294000, "temperature": 201, "voltage": 5.9, "node": "a" }
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"] } ] }
El parámetro cron controla el tiempo de activación y la frecuencia de activación de la tarea. Cuando se activa el plan cron de la tarea de agregación, comenzará a agregar desde el punto donde se interrumpió la última vez que se activó.
Después de que se ejecute la tarea y se procesen algunos datos, podemos realizar algunas búsquedas utilizando consultas DSL.
GET /sensor_rollup/_rollup_search { "size": 0, "aggregations": { "max_temperature": { "max": { "field": "temperatura" } } } }