From cdf6a054c6acbfec69ebd823586974ea1b0a1878 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Istv=C3=A1n=20Zolt=C3=A1n=20Szab=C3=B3?= Date: Mon, 13 Jul 2020 10:57:03 +0200 Subject: [PATCH] [DOCS] Fixes getting time features example in Painless in Transforms (#59379) --- .../transform/painless-examples.asciidoc | 56 ++++++++++--------- 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/docs/reference/transform/painless-examples.asciidoc b/docs/reference/transform/painless-examples.asciidoc index 3e9758992d5f9..c2c24614ef1cd 100644 --- a/docs/reference/transform/painless-examples.asciidoc +++ b/docs/reference/transform/painless-examples.asciidoc @@ -106,7 +106,7 @@ You can retrieve the last value in a similar way: [discrete] [[painless-time-features]] -==== Getting time features as scripted fields +==== Getting time features by using aggregations This snippet shows how to extract time based features by using Painless in a {transform}. The snippet uses an index where `@timestamp` is defined as a `date` @@ -115,37 +115,39 @@ type field. [source,js] -------------------------------------------------- "aggregations": { - "script_fields": { - "hour_of_day": { <1> - "script": { - "lang": "painless", - "source": """ - ZonedDateTime date = doc['@timestamp'].value; <2> - return date.getHour(); <3> - """ - } - }, - "month_of_year": { <4> - "script": { - "lang": "painless", - "source": """ - ZonedDateTime date = doc['@timestamp'].value; <5> - return date.getMonthValue(); <6> - """ - } + "avg_hour_of_day": { <1> + "avg":{ + "script": { <2> + "source": """ + ZonedDateTime date = doc['@timestamp'].value; <3> + return date.getHour(); <4> + """ } - }, - ... + } + }, + "avg_month_of_year": { <5> + "avg":{ + "script": { <6> + "source": """ + ZonedDateTime date = doc['@timestamp'].value; <7> + return date.getMonthValue(); <8> + """ + } + } + }, + ... } -------------------------------------------------- // NOTCONSOLE -<1> Contains the Painless script that returns the hour of the day. -<2> Sets `date` based on the timestamp of the document. -<3> Returns the hour value from `date`. -<4> Contains the Painless script that returns the month of the year. -<5> Sets `date` based on the timestamp of the document. -<6> Returns the month value from `date`. +<1> Name of the aggregation. +<2> Contains the Painless script that returns the hour of the day. +<3> Sets `date` based on the timestamp of the document. +<4> Returns the hour value from `date`. +<5> Name of the aggregation. +<6> Contains the Painless script that returns the month of the year. +<7> Sets `date` based on the timestamp of the document. +<8> Returns the month value from `date`. [discrete]