From 7598b39971739b0d4f2a1496be24c091fef42062 Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Mon, 27 Oct 2025 13:52:31 -0400 Subject: [PATCH 01/20] [DRAFT] Painless docs overhaul (reference) --- .../painless/brief-painless-walkthrough.md | 282 +----------------- .../painless-walkthrough-access-doc-values.md | 78 +++++ .../painless/painless-walkthrough-dates.md | 21 ++ .../painless-walkthrough-missing-keys.md | 14 + .../painless-walkthrough-missing-values.md | 8 + ...ainless-walkthrough-regular-expressions.md | 117 ++++++++ .../painless-walkthrough-updating-fields.md | 55 ++++ .../scripting-languages/painless/painless.md | 33 +- docs/reference/scripting-languages/toc.yml | 7 + 9 files changed, 334 insertions(+), 281 deletions(-) create mode 100644 docs/reference/scripting-languages/painless/painless-walkthrough-access-doc-values.md create mode 100644 docs/reference/scripting-languages/painless/painless-walkthrough-dates.md create mode 100644 docs/reference/scripting-languages/painless/painless-walkthrough-missing-keys.md create mode 100644 docs/reference/scripting-languages/painless/painless-walkthrough-missing-values.md create mode 100644 docs/reference/scripting-languages/painless/painless-walkthrough-regular-expressions.md create mode 100644 docs/reference/scripting-languages/painless/painless-walkthrough-updating-fields.md diff --git a/docs/reference/scripting-languages/painless/brief-painless-walkthrough.md b/docs/reference/scripting-languages/painless/brief-painless-walkthrough.md index a711b4c7ad07a..2eac0381c12ec 100644 --- a/docs/reference/scripting-languages/painless/brief-painless-walkthrough.md +++ b/docs/reference/scripting-languages/painless/brief-painless-walkthrough.md @@ -5,6 +5,15 @@ products: - id: painless --- +:::{tip} +This walkthrough is designed for users experienced with scripting and already familiar with Painless, who need direct access to Painless specifications and advanced features. + + + +::: + # A brief painless walkthrough [painless-walkthrough] To illustrate how Painless works, let’s load some hockey stats into an Elasticsearch index: @@ -36,276 +45,3 @@ PUT hockey/_bulk?refresh ``` % TESTSETUP -## Accessing Doc Values from Painless [_accessing_doc_values_from_painless] - -Document values can be accessed from a `Map` named `doc`. - -For example, the following script calculates a player’s total goals. This example uses a strongly typed `int` and a `for` loop. - -```console -GET hockey/_search -{ - "query": { - "function_score": { - "script_score": { - "script": { - "lang": "painless", - "source": """ - int total = 0; - for (int i = 0; i < doc['goals'].length; ++i) { - total += doc['goals'][i]; - } - return total; - """ - } - } - } - } -} -``` - -Alternatively, you could do the same thing using a script field instead of a function score: - -```console -GET hockey/_search -{ - "query": { - "match_all": {} - }, - "script_fields": { - "total_goals": { - "script": { - "lang": "painless", - "source": """ - int total = 0; - for (int i = 0; i < doc['goals'].length; ++i) { - total += doc['goals'][i]; - } - return total; - """ - } - } - } -} -``` - -The following example uses a Painless script to sort the players by their combined first and last names. The names are accessed using `doc['first'].value` and `doc['last'].value`. - -```console -GET hockey/_search -{ - "query": { - "match_all": {} - }, - "sort": { - "_script": { - "type": "string", - "order": "asc", - "script": { - "lang": "painless", - "source": "doc['first.keyword'].value + ' ' + doc['last.keyword'].value" - } - } - } -} -``` - - -## Missing keys [_missing_keys] - -`doc['myfield'].value` throws an exception if the field is missing in a document. - -For more dynamic index mappings, you may consider writing a catch equation - -``` -if (!doc.containsKey('myfield') || doc['myfield'].empty) { return "unavailable" } else { return doc['myfield'].value } -``` - - -## Missing values [_missing_values] - -To check if a document is missing a value, you can call `doc['myfield'].size() == 0`. - - -## Updating Fields with Painless [_updating_fields_with_painless] - -You can also easily update fields. You access the original source for a field as `ctx._source.`. - -First, let’s look at the source data for a player by submitting the following request: - -```console -GET hockey/_search -{ - "query": { - "term": { - "_id": 1 - } - } -} -``` - -To change player 1’s last name to `hockey`, simply set `ctx._source.last` to the new value: - -```console -POST hockey/_update/1 -{ - "script": { - "lang": "painless", - "source": "ctx._source.last = params.last", - "params": { - "last": "hockey" - } - } -} -``` - -You can also add fields to a document. For example, this script adds a new field that contains the player’s nickname, *hockey*. - -```console -POST hockey/_update/1 -{ - "script": { - "lang": "painless", - "source": """ - ctx._source.last = params.last; - ctx._source.nick = params.nick - """, - "params": { - "last": "gaudreau", - "nick": "hockey" - } - } -} -``` - - -## Dates [modules-scripting-painless-dates] - -Date fields are exposed as `ZonedDateTime`, so they support methods like `getYear`, `getDayOfWeek` or e.g. getting milliseconds since epoch with `getMillis`. To use these in a script, leave out the `get` prefix and continue with lowercasing the rest of the method name. For example, the following returns every hockey player’s birth year: - -```console -GET hockey/_search -{ - "script_fields": { - "birth_year": { - "script": { - "source": "doc.born.value.year" - } - } - } -} -``` - - -## Regular expressions [modules-scripting-painless-regex] - -::::{note} -Regexes are enabled by default as the Setting `script.painless.regex.enabled` has a new option, `limited`, the default. This defaults to using regular expressions but limiting the complexity of the regular expressions. Innocuous looking regexes can have staggering performance and stack depth behavior. But still, they remain an amazingly powerful tool. In addition, to `limited`, the setting can be set to `true`, as before, which enables regular expressions without limiting them.To enable them yourself set `script.painless.regex.enabled: true` in `elasticsearch.yml`. -:::: - - -Painless’s native support for regular expressions has syntax constructs: - -* `/pattern/`: Pattern literals create patterns. This is the only way to create a pattern in painless. The pattern inside the `/’s are just [Java regular expressions](https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.md). See [Pattern flags](/reference/scripting-languages/painless/painless-regexes.md#pattern-flags) for more. -* `=~`: The find operator return a `boolean`, `true` if a subsequence of the text matches, `false` otherwise. -* `==~`: The match operator returns a `boolean`, `true` if the text matches, `false` if it doesn’t. - -Using the find operator (`=~`) you can update all hockey players with "b" in their last name: - -```console -POST hockey/_update_by_query -{ - "script": { - "lang": "painless", - "source": """ - if (ctx._source.last =~ /b/) { - ctx._source.last += "matched"; - } else { - ctx.op = "noop"; - } - """ - } -} -``` - -Using the match operator (`==~`) you can update all the hockey players whose names start with a consonant and end with a vowel: - -```console -POST hockey/_update_by_query -{ - "script": { - "lang": "painless", - "source": """ - if (ctx._source.last ==~ /[^aeiou].*[aeiou]/) { - ctx._source.last += "matched"; - } else { - ctx.op = "noop"; - } - """ - } -} -``` - -You can use the `Pattern.matcher` directly to get a `Matcher` instance and remove all of the vowels in all of their last names: - -```console -POST hockey/_update_by_query -{ - "script": { - "lang": "painless", - "source": "ctx._source.last = /[aeiou]/.matcher(ctx._source.last).replaceAll('')" - } -} -``` - -`Matcher.replaceAll` is just a call to Java’s `Matcher`'s [replaceAll](https://docs.oracle.com/javase/8/docs/api/java/util/regex/Matcher.md#replaceAll-java.lang.String-) method so it supports `$1` and `\1` for replacements: - -```console -POST hockey/_update_by_query -{ - "script": { - "lang": "painless", - "source": "ctx._source.last = /n([aeiou])/.matcher(ctx._source.last).replaceAll('$1')" - } -} -``` - -If you need more control over replacements you can call `replaceAll` on a `CharSequence` with a `Function` that builds the replacement. This does not support `$1` or `\1` to access replacements because you already have a reference to the matcher and can get them with `m.group(1)`. - -::::{important} -Calling `Matcher.find` inside of the function that builds the replacement is rude and will likely break the replacement process. -:::: - - -This will make all of the vowels in the hockey player’s last names upper case: - -```console -POST hockey/_update_by_query -{ - "script": { - "lang": "painless", - "source": """ - ctx._source.last = ctx._source.last.replaceAll(/[aeiou]/, m -> - m.group().toUpperCase(Locale.ROOT)) - """ - } -} -``` - -Or you can use the `CharSequence.replaceFirst` to make the first vowel in their last names upper case: - -```console -POST hockey/_update_by_query -{ - "script": { - "lang": "painless", - "source": """ - ctx._source.last = ctx._source.last.replaceFirst(/[aeiou]/, m -> - m.group().toUpperCase(Locale.ROOT)) - """ - } -} -``` - -Note: all of the `_update_by_query` examples above could really do with a `query` to limit the data that they pull back. While you **could** use a [script query](/reference/query-languages/query-dsl/query-dsl-script-query.md) it wouldn’t be as efficient as using any other query because script queries aren’t able to use the inverted index to limit the documents that they have to check. - diff --git a/docs/reference/scripting-languages/painless/painless-walkthrough-access-doc-values.md b/docs/reference/scripting-languages/painless/painless-walkthrough-access-doc-values.md new file mode 100644 index 0000000000000..b04917d2e3987 --- /dev/null +++ b/docs/reference/scripting-languages/painless/painless-walkthrough-access-doc-values.md @@ -0,0 +1,78 @@ +--- +products: + - id: painless +--- + +# Accessing Doc Values from Painless [_accessing_doc_values_from_painless] + +Document values can be accessed from a `Map` named `doc`. + +For example, the following script calculates a player’s total goals. This example uses a strongly typed `int` and a `for` loop. + +```console +GET hockey/_search +{ + "query": { + "function_score": { + "script_score": { + "script": { + "lang": "painless", + "source": """ + int total = 0; + for (int i = 0; i < doc['goals'].length; ++i) { + total += doc['goals'][i]; + } + return total; + """ + } + } + } + } +} +``` + +Alternatively, you could do the same thing using a script field instead of a function score: + +```console +GET hockey/_search +{ + "query": { + "match_all": {} + }, + "script_fields": { + "total_goals": { + "script": { + "lang": "painless", + "source": """ + int total = 0; + for (int i = 0; i < doc['goals'].length; ++i) { + total += doc['goals'][i]; + } + return total; + """ + } + } + } +} +``` + +The following example uses a Painless script to sort the players by their combined first and last names. The names are accessed using `doc['first'].value` and `doc['last'].value`. + +```console +GET hockey/_search +{ + "query": { + "match_all": {} + }, + "sort": { + "_script": { + "type": "string", + "order": "asc", + "script": { + "lang": "painless", + "source": "doc['first.keyword'].value + ' ' + doc['last.keyword'].value" + } + } + } +} +``` diff --git a/docs/reference/scripting-languages/painless/painless-walkthrough-dates.md b/docs/reference/scripting-languages/painless/painless-walkthrough-dates.md new file mode 100644 index 0000000000000..e5865a4eb32cd --- /dev/null +++ b/docs/reference/scripting-languages/painless/painless-walkthrough-dates.md @@ -0,0 +1,21 @@ +--- +products: + - id: painless +--- + +# Dates [modules-scripting-painless-dates] + +Date fields are exposed as `ZonedDateTime`, so they support methods like `getYear`, `getDayOfWeek` or e.g. getting milliseconds since epoch with `getMillis`. To use these in a script, leave out the `get` prefix and continue with lowercasing the rest of the method name. For example, the following returns every hockey player’s birth year: + +```console +GET hockey/_search +{ + "script_fields": { + "birth_year": { + "script": { + "source": "doc.born.value.year" + } + } + } +} +``` \ No newline at end of file diff --git a/docs/reference/scripting-languages/painless/painless-walkthrough-missing-keys.md b/docs/reference/scripting-languages/painless/painless-walkthrough-missing-keys.md new file mode 100644 index 0000000000000..57d016d518456 --- /dev/null +++ b/docs/reference/scripting-languages/painless/painless-walkthrough-missing-keys.md @@ -0,0 +1,14 @@ +--- +products: + - id: painless +--- + +# Missing keys [_missing_keys] + +`doc['myfield'].value` throws an exception if the field is missing in a document. + +For more dynamic index mappings, you may consider writing a catch equation + +``` +if (!doc.containsKey('myfield') || doc['myfield'].empty) { return "unavailable" } else { return doc['myfield'].value } +``` diff --git a/docs/reference/scripting-languages/painless/painless-walkthrough-missing-values.md b/docs/reference/scripting-languages/painless/painless-walkthrough-missing-values.md new file mode 100644 index 0000000000000..c8eded7dd771a --- /dev/null +++ b/docs/reference/scripting-languages/painless/painless-walkthrough-missing-values.md @@ -0,0 +1,8 @@ +--- +products: + - id: painless +--- + +# Missing values [_missing_values] + +To check if a document is missing a value, you can call `doc['myfield'].size() == 0`. \ No newline at end of file diff --git a/docs/reference/scripting-languages/painless/painless-walkthrough-regular-expressions.md b/docs/reference/scripting-languages/painless/painless-walkthrough-regular-expressions.md new file mode 100644 index 0000000000000..e050839579190 --- /dev/null +++ b/docs/reference/scripting-languages/painless/painless-walkthrough-regular-expressions.md @@ -0,0 +1,117 @@ +--- +products: + - id: painless +--- + +# Regular expressions [modules-scripting-painless-regex] + +::::{note} +Regexes are enabled by default as the Setting `script.painless.regex.enabled` has a new option, `limited`, the default. This defaults to using regular expressions but limiting the complexity of the regular expressions. Innocuous looking regexes can have staggering performance and stack depth behavior. But still, they remain an amazingly powerful tool. In addition, to `limited`, the setting can be set to `true`, as before, which enables regular expressions without limiting them.To enable them yourself set `script.painless.regex.enabled: true` in `elasticsearch.yml`. +:::: + + +Painless’s native support for regular expressions has syntax constructs: + +* `/pattern/`: Pattern literals create patterns. This is the only way to create a pattern in painless. The pattern inside the `/’s are just [Java regular expressions](https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.md). See [Pattern flags](/reference/scripting-languages/painless/painless-regexes.md#pattern-flags) for more. +* `=~`: The find operator return a `boolean`, `true` if a subsequence of the text matches, `false` otherwise. +* `==~`: The match operator returns a `boolean`, `true` if the text matches, `false` if it doesn’t. + +Using the find operator (`=~`) you can update all hockey players with "b" in their last name: + +```console +POST hockey/_update_by_query +{ + "script": { + "lang": "painless", + "source": """ + if (ctx._source.last =~ /b/) { + ctx._source.last += "matched"; + } else { + ctx.op = "noop"; + } + """ + } +} +``` + +Using the match operator (`==~`) you can update all the hockey players whose names start with a consonant and end with a vowel: + +```console +POST hockey/_update_by_query +{ + "script": { + "lang": "painless", + "source": """ + if (ctx._source.last ==~ /[^aeiou].*[aeiou]/) { + ctx._source.last += "matched"; + } else { + ctx.op = "noop"; + } + """ + } +} +``` + +You can use the `Pattern.matcher` directly to get a `Matcher` instance and remove all of the vowels in all of their last names: + +```console +POST hockey/_update_by_query +{ + "script": { + "lang": "painless", + "source": "ctx._source.last = /[aeiou]/.matcher(ctx._source.last).replaceAll('')" + } +} +``` + +`Matcher.replaceAll` is just a call to Java’s `Matcher`'s [replaceAll](https://docs.oracle.com/javase/8/docs/api/java/util/regex/Matcher.md#replaceAll-java.lang.String-) method so it supports `$1` and `\1` for replacements: + +```console +POST hockey/_update_by_query +{ + "script": { + "lang": "painless", + "source": "ctx._source.last = /n([aeiou])/.matcher(ctx._source.last).replaceAll('$1')" + } +} +``` + +If you need more control over replacements you can call `replaceAll` on a `CharSequence` with a `Function` that builds the replacement. This does not support `$1` or `\1` to access replacements because you already have a reference to the matcher and can get them with `m.group(1)`. + +::::{important} +Calling `Matcher.find` inside of the function that builds the replacement is rude and will likely break the replacement process. +:::: + + +This will make all of the vowels in the hockey player’s last names upper case: + +```console +POST hockey/_update_by_query +{ + "script": { + "lang": "painless", + "source": """ + ctx._source.last = ctx._source.last.replaceAll(/[aeiou]/, m -> + m.group().toUpperCase(Locale.ROOT)) + """ + } +} +``` + +Or you can use the `CharSequence.replaceFirst` to make the first vowel in their last names upper case: + +```console +POST hockey/_update_by_query +{ + "script": { + "lang": "painless", + "source": """ + ctx._source.last = ctx._source.last.replaceFirst(/[aeiou]/, m -> + m.group().toUpperCase(Locale.ROOT)) + """ + } +} +``` + +Note: all of the `_update_by_query` examples above could really do with a `query` to limit the data that they pull back. While you **could** use a [script query](/reference/query-languages/query-dsl/query-dsl-script-query.md) it wouldn’t be as efficient as using any other query because script queries aren’t able to use the inverted index to limit the documents that they have to check. + diff --git a/docs/reference/scripting-languages/painless/painless-walkthrough-updating-fields.md b/docs/reference/scripting-languages/painless/painless-walkthrough-updating-fields.md new file mode 100644 index 0000000000000..d6e57eb33f948 --- /dev/null +++ b/docs/reference/scripting-languages/painless/painless-walkthrough-updating-fields.md @@ -0,0 +1,55 @@ +--- +products: + - id: painless +--- + +# Updating Fields with Painless [_updating_fields_with_painless] + +You can also easily update fields. You access the original source for a field as `ctx._source.`. + +First, let’s look at the source data for a player by submitting the following request: + +```console +GET hockey/_search +{ + "query": { + "term": { + "_id": 1 + } + } +} +``` + +To change player 1’s last name to `hockey`, simply set `ctx._source.last` to the new value: + +```console +POST hockey/_update/1 +{ + "script": { + "lang": "painless", + "source": "ctx._source.last = params.last", + "params": { + "last": "hockey" + } + } +} +``` + +You can also add fields to a document. For example, this script adds a new field that contains the player’s nickname, *hockey*. + +```console +POST hockey/_update/1 +{ + "script": { + "lang": "painless", + "source": """ + ctx._source.last = params.last; + ctx._source.nick = params.nick + """, + "params": { + "last": "gaudreau", + "nick": "hockey" + } + } +} +``` diff --git a/docs/reference/scripting-languages/painless/painless.md b/docs/reference/scripting-languages/painless/painless.md index baaec6eab4fac..181fc2f34fcf3 100644 --- a/docs/reference/scripting-languages/painless/painless.md +++ b/docs/reference/scripting-languages/painless/painless.md @@ -1,4 +1,5 @@ --- +navigation_title: Painless mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/index.html - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-guide.html @@ -6,22 +7,38 @@ products: - id: painless --- -# Painless [painless-guide] +# Painless scripting language [painless-guide] -*Painless* is a simple, secure scripting language designed specifically for use with Elasticsearch. It is the default scripting language for Elasticsearch and can safely be used for inline and stored scripts. For a jump start into Painless, see [A Brief Painless Walkthrough](/reference/scripting-languages/painless/brief-painless-walkthrough.md). For a detailed description of the Painless syntax and language features, see the [Painless Language Specification](/reference/scripting-languages/painless/painless-language-specification.md). + -You can use Painless anywhere scripts are used in Elasticsearch. Painless provides: +Painless is the default scripting language for {{es}}, designed for security, performance, and flexibility. Built on the [Java Virtual Machine (JVM)](https://docs.oracle.com/en/java/javase/24/vm/java-virtual-machine-technology-overview.html), Painless provides Java-like syntax with direct compilation, a sandbox environment with fine-grained allowlists, and context-aware scripting across the {{stack}}. -* Fast performance: Painless scripts [ run several times faster](https://benchmarks.elastic.co/index.md#search_qps_scripts) than the alternatives. -* Safety: Fine-grained allowlist with method call/field granularity. -* Optional typing: Variables and parameters can use explicit types or the dynamic `def` type. -* Syntax: Extends a subset of Java’s syntax to provide additional scripting language features. -* Optimizations: Designed specifically for Elasticsearch scripting. +## Language overview +Painless compiles directly to JVM bytecode, enabling native performance while maintaining security boundaries through fine-grained allowlists and a sandbox environment. The language implements a subset of Java syntax with {{es}} extensions, supporting field access patterns, datetime operations, and nested data manipulation across context-aware execution workloads. +Scripts execute within specific contexts that control available variables, allowed operations, and execution environments. Different contexts provide APIs for their specific use case. +## Core benefits +Painless provides three core benefits: +* **Security:** Fine-grained allowlists that prevent access to restricted Java APIs and enforce security layers through a sandbox environment and JVM-level protection +* **Performance:** Native compilation eliminates interpretation overhead and leverages JVM optimization, delivering native execution speed for production environments +* **Flexibility:** Scripting syntax and execution contexts span the {{es}} stack, from search scoring and data processing to operational processing +## Reference resources +The reference documentation includes the following resources: +* [**Language specifications:**](/reference/scripting-languages/painless/painless-language-specification.md) syntax, operators, data types, and compilation semantics +* [**Contexts:**](/reference/scripting-languages/painless/painless-contexts.md) Execution environments, available variables, and context-specific APIs +* **Advanced use cases:** Complex implementations, ingest processing, and API examples +* **Debugging & Troubleshooting:** Debugging techniques, common errors, and solutions + \ No newline at end of file diff --git a/docs/reference/scripting-languages/toc.yml b/docs/reference/scripting-languages/toc.yml index 5fa5f6e78ca66..3999900a6fb3a 100644 --- a/docs/reference/scripting-languages/toc.yml +++ b/docs/reference/scripting-languages/toc.yml @@ -3,6 +3,13 @@ toc: - file: painless/painless.md children: - file: painless/brief-painless-walkthrough.md + children: + - file: painless/painless-walkthrough-access-doc-values.md + - file: painless/painless-walkthrough-missing-keys.md + - file: painless/painless-walkthrough-missing-values.md + - file: painless/painless-walkthrough-updating-fields.md + - file: painless/painless-walkthrough-dates.md + - file: painless/painless-walkthrough-regular-expressions.md - file: painless/use-painless-scripts-in-runtime-fields.md - file: painless/using-datetime-in-painless.md - file: painless/how-painless-dispatches-function.md From eeee63e67067a5cf683c5b3d3c3493c2e67be7e7 Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Mon, 27 Oct 2025 15:03:28 -0400 Subject: [PATCH 02/20] add applies-to tags --- .../painless/brief-painless-walkthrough.md | 3 +++ .../painless/how-painless-dispatches-function.md | 3 +++ .../painless/painless-analysis-predicate-context.md | 3 +++ .../scripting-languages/painless/painless-api-examples.md | 3 +++ .../painless/painless-bucket-script-agg-context.md | 3 +++ .../painless/painless-bucket-selector-agg-context.md | 3 +++ .../scripting-languages/painless/painless-casting.md | 3 +++ .../scripting-languages/painless/painless-comments.md | 3 +++ .../painless/painless-context-examples.md | 3 +++ .../scripting-languages/painless/painless-contexts.md | 3 +++ .../scripting-languages/painless/painless-debugging.md | 3 +++ .../scripting-languages/painless/painless-field-context.md | 3 +++ .../scripting-languages/painless/painless-filter-context.md | 3 +++ .../scripting-languages/painless/painless-functions.md | 3 +++ .../scripting-languages/painless/painless-identifiers.md | 3 +++ .../painless/painless-ingest-processor-context.md | 3 +++ .../scripting-languages/painless/painless-keywords.md | 3 +++ .../scripting-languages/painless/painless-lambdas.md | 3 +++ .../painless/painless-language-specification.md | 3 +++ .../scripting-languages/painless/painless-literals.md | 3 +++ .../painless/painless-metric-agg-combine-context.md | 3 +++ .../painless/painless-metric-agg-init-context.md | 3 +++ .../painless/painless-metric-agg-map-context.md | 3 +++ .../painless/painless-metric-agg-reduce-context.md | 3 +++ .../painless/painless-min-should-match-context.md | 3 +++ .../scripting-languages/painless/painless-operators-array.md | 3 +++ .../painless/painless-operators-boolean.md | 3 +++ .../painless/painless-operators-general.md | 3 +++ .../painless/painless-operators-numeric.md | 3 +++ .../painless/painless-operators-reference.md | 3 +++ .../scripting-languages/painless/painless-operators.md | 3 +++ .../scripting-languages/painless/painless-regexes.md | 3 +++ .../scripting-languages/painless/painless-reindex-context.md | 3 +++ .../painless/painless-runtime-fields-context.md | 3 +++ .../scripting-languages/painless/painless-score-context.md | 3 +++ .../scripting-languages/painless/painless-scripts.md | 3 +++ .../painless/painless-similarity-context.md | 3 +++ .../scripting-languages/painless/painless-sort-context.md | 3 +++ .../scripting-languages/painless/painless-statements.md | 3 +++ .../reference/scripting-languages/painless/painless-types.md | 3 +++ .../painless/painless-update-by-query-context.md | 3 +++ .../scripting-languages/painless/painless-update-context.md | 3 +++ .../scripting-languages/painless/painless-variables.md | 3 +++ .../painless/painless-walkthrough-access-doc-values.md | 3 +++ .../painless/painless-walkthrough-dates.md | 3 +++ .../painless/painless-walkthrough-missing-keys.md | 3 +++ .../painless/painless-walkthrough-missing-values.md | 3 +++ .../painless/painless-walkthrough-regular-expressions.md | 3 +++ .../painless/painless-walkthrough-updating-fields.md | 3 +++ .../painless/painless-watcher-condition-context.md | 3 +++ .../painless/painless-watcher-transform-context.md | 3 +++ .../scripting-languages/painless/painless-weight-context.md | 3 +++ docs/reference/scripting-languages/painless/painless.md | 3 +++ .../painless/use-painless-scripts-in-runtime-fields.md | 5 ++++- .../painless/using-datetime-in-painless.md | 3 +++ .../painless/using-ingest-processors-in-painless.md | 3 +++ 56 files changed, 169 insertions(+), 1 deletion(-) diff --git a/docs/reference/scripting-languages/painless/brief-painless-walkthrough.md b/docs/reference/scripting-languages/painless/brief-painless-walkthrough.md index 2eac0381c12ec..0d2498baa18d7 100644 --- a/docs/reference/scripting-languages/painless/brief-painless-walkthrough.md +++ b/docs/reference/scripting-languages/painless/brief-painless-walkthrough.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-walkthrough.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/how-painless-dispatches-function.md b/docs/reference/scripting-languages/painless/how-painless-dispatches-function.md index d146515cc76f4..236cc24c4ffb3 100644 --- a/docs/reference/scripting-languages/painless/how-painless-dispatches-function.md +++ b/docs/reference/scripting-languages/painless/how-painless-dispatches-function.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/modules-scripting-painless-dispatch.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-analysis-predicate-context.md b/docs/reference/scripting-languages/painless/painless-analysis-predicate-context.md index cb630437806ac..0ae985330ca90 100644 --- a/docs/reference/scripting-languages/painless/painless-analysis-predicate-context.md +++ b/docs/reference/scripting-languages/painless/painless-analysis-predicate-context.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-analysis-predicate-context.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-api-examples.md b/docs/reference/scripting-languages/painless/painless-api-examples.md index 05a696c73cb3b..6115893b2e462 100644 --- a/docs/reference/scripting-languages/painless/painless-api-examples.md +++ b/docs/reference/scripting-languages/painless/painless-api-examples.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-execute-api.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-bucket-script-agg-context.md b/docs/reference/scripting-languages/painless/painless-bucket-script-agg-context.md index 54f79b2ef261c..689fa78857aa9 100644 --- a/docs/reference/scripting-languages/painless/painless-bucket-script-agg-context.md +++ b/docs/reference/scripting-languages/painless/painless-bucket-script-agg-context.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-bucket-script-agg-context.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-bucket-selector-agg-context.md b/docs/reference/scripting-languages/painless/painless-bucket-selector-agg-context.md index 449366536f456..c47dab60e2a21 100644 --- a/docs/reference/scripting-languages/painless/painless-bucket-selector-agg-context.md +++ b/docs/reference/scripting-languages/painless/painless-bucket-selector-agg-context.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-bucket-selector-agg-context.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-casting.md b/docs/reference/scripting-languages/painless/painless-casting.md index 3a35626aeea3a..c2c60c563b831 100644 --- a/docs/reference/scripting-languages/painless/painless-casting.md +++ b/docs/reference/scripting-languages/painless/painless-casting.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-casting.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-comments.md b/docs/reference/scripting-languages/painless/painless-comments.md index 5bdb4fca94ae8..78ff80e5e54f4 100644 --- a/docs/reference/scripting-languages/painless/painless-comments.md +++ b/docs/reference/scripting-languages/painless/painless-comments.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-comments.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-context-examples.md b/docs/reference/scripting-languages/painless/painless-context-examples.md index f345d96b68d9c..cffecd3b9be36 100644 --- a/docs/reference/scripting-languages/painless/painless-context-examples.md +++ b/docs/reference/scripting-languages/painless/painless-context-examples.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-context-examples.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-contexts.md b/docs/reference/scripting-languages/painless/painless-contexts.md index 8ddad4c956d3b..06838f3ee53a5 100644 --- a/docs/reference/scripting-languages/painless/painless-contexts.md +++ b/docs/reference/scripting-languages/painless/painless-contexts.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-contexts.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-debugging.md b/docs/reference/scripting-languages/painless/painless-debugging.md index 70e89cdf3e72a..25b539c019c40 100644 --- a/docs/reference/scripting-languages/painless/painless-debugging.md +++ b/docs/reference/scripting-languages/painless/painless-debugging.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-debugging.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-field-context.md b/docs/reference/scripting-languages/painless/painless-field-context.md index ac103db733433..84dccfe901b66 100644 --- a/docs/reference/scripting-languages/painless/painless-field-context.md +++ b/docs/reference/scripting-languages/painless/painless-field-context.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-field-context.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-filter-context.md b/docs/reference/scripting-languages/painless/painless-filter-context.md index 4a8868afce090..71286eee661bc 100644 --- a/docs/reference/scripting-languages/painless/painless-filter-context.md +++ b/docs/reference/scripting-languages/painless/painless-filter-context.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-filter-context.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-functions.md b/docs/reference/scripting-languages/painless/painless-functions.md index b88023c39db46..e68407863a9d6 100644 --- a/docs/reference/scripting-languages/painless/painless-functions.md +++ b/docs/reference/scripting-languages/painless/painless-functions.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-functions.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-identifiers.md b/docs/reference/scripting-languages/painless/painless-identifiers.md index bdf8c22c489b5..88925e5ccf345 100644 --- a/docs/reference/scripting-languages/painless/painless-identifiers.md +++ b/docs/reference/scripting-languages/painless/painless-identifiers.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-identifiers.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-ingest-processor-context.md b/docs/reference/scripting-languages/painless/painless-ingest-processor-context.md index 5990fc9674236..52e9dabf1a4ba 100644 --- a/docs/reference/scripting-languages/painless/painless-ingest-processor-context.md +++ b/docs/reference/scripting-languages/painless/painless-ingest-processor-context.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-ingest-processor-context.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-keywords.md b/docs/reference/scripting-languages/painless/painless-keywords.md index 3b5e6c85c2568..b5e5173e48353 100644 --- a/docs/reference/scripting-languages/painless/painless-keywords.md +++ b/docs/reference/scripting-languages/painless/painless-keywords.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-keywords.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-lambdas.md b/docs/reference/scripting-languages/painless/painless-lambdas.md index fc8226b680ab0..cfb2fb3c6ba6b 100644 --- a/docs/reference/scripting-languages/painless/painless-lambdas.md +++ b/docs/reference/scripting-languages/painless/painless-lambdas.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-lambdas.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-language-specification.md b/docs/reference/scripting-languages/painless/painless-language-specification.md index 7074a79421721..7a5857c13d5c6 100644 --- a/docs/reference/scripting-languages/painless/painless-language-specification.md +++ b/docs/reference/scripting-languages/painless/painless-language-specification.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-lang-spec.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-literals.md b/docs/reference/scripting-languages/painless/painless-literals.md index 4c655869aa4d8..204655a46e674 100644 --- a/docs/reference/scripting-languages/painless/painless-literals.md +++ b/docs/reference/scripting-languages/painless/painless-literals.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-literals.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-metric-agg-combine-context.md b/docs/reference/scripting-languages/painless/painless-metric-agg-combine-context.md index 964d9acd1b93a..76b271dafb221 100644 --- a/docs/reference/scripting-languages/painless/painless-metric-agg-combine-context.md +++ b/docs/reference/scripting-languages/painless/painless-metric-agg-combine-context.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-metric-agg-combine-context.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-metric-agg-init-context.md b/docs/reference/scripting-languages/painless/painless-metric-agg-init-context.md index 222f822e5b366..d9ea0ebf2d32f 100644 --- a/docs/reference/scripting-languages/painless/painless-metric-agg-init-context.md +++ b/docs/reference/scripting-languages/painless/painless-metric-agg-init-context.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-metric-agg-init-context.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-metric-agg-map-context.md b/docs/reference/scripting-languages/painless/painless-metric-agg-map-context.md index 15e3a1afe6b26..7eb53a31e4fb6 100644 --- a/docs/reference/scripting-languages/painless/painless-metric-agg-map-context.md +++ b/docs/reference/scripting-languages/painless/painless-metric-agg-map-context.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-metric-agg-map-context.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-metric-agg-reduce-context.md b/docs/reference/scripting-languages/painless/painless-metric-agg-reduce-context.md index 55d1a76a8a99d..0c8a633baa168 100644 --- a/docs/reference/scripting-languages/painless/painless-metric-agg-reduce-context.md +++ b/docs/reference/scripting-languages/painless/painless-metric-agg-reduce-context.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-metric-agg-reduce-context.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-min-should-match-context.md b/docs/reference/scripting-languages/painless/painless-min-should-match-context.md index 05d29ba3b5b98..1c88e0d9f6111 100644 --- a/docs/reference/scripting-languages/painless/painless-min-should-match-context.md +++ b/docs/reference/scripting-languages/painless/painless-min-should-match-context.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-min-should-match-context.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-operators-array.md b/docs/reference/scripting-languages/painless/painless-operators-array.md index 0be6b68046d6c..ad829ed4222d5 100644 --- a/docs/reference/scripting-languages/painless/painless-operators-array.md +++ b/docs/reference/scripting-languages/painless/painless-operators-array.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-operators-array.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-operators-boolean.md b/docs/reference/scripting-languages/painless/painless-operators-boolean.md index cfa22297fd90f..da7a3215d6286 100644 --- a/docs/reference/scripting-languages/painless/painless-operators-boolean.md +++ b/docs/reference/scripting-languages/painless/painless-operators-boolean.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-operators-boolean.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-operators-general.md b/docs/reference/scripting-languages/painless/painless-operators-general.md index ecbb17d2fd27d..0b8c0f0850f56 100644 --- a/docs/reference/scripting-languages/painless/painless-operators-general.md +++ b/docs/reference/scripting-languages/painless/painless-operators-general.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-operators-general.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-operators-numeric.md b/docs/reference/scripting-languages/painless/painless-operators-numeric.md index 87b2637d03e72..e4abf5b3544d8 100644 --- a/docs/reference/scripting-languages/painless/painless-operators-numeric.md +++ b/docs/reference/scripting-languages/painless/painless-operators-numeric.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-operators-numeric.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-operators-reference.md b/docs/reference/scripting-languages/painless/painless-operators-reference.md index f02df1ece770f..b8cce40347eca 100644 --- a/docs/reference/scripting-languages/painless/painless-operators-reference.md +++ b/docs/reference/scripting-languages/painless/painless-operators-reference.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-operators-reference.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-operators.md b/docs/reference/scripting-languages/painless/painless-operators.md index 51574e74ce2d7..867ce13bc39e5 100644 --- a/docs/reference/scripting-languages/painless/painless-operators.md +++ b/docs/reference/scripting-languages/painless/painless-operators.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-operators.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-regexes.md b/docs/reference/scripting-languages/painless/painless-regexes.md index 92d1970bcdc89..216b07023bfda 100644 --- a/docs/reference/scripting-languages/painless/painless-regexes.md +++ b/docs/reference/scripting-languages/painless/painless-regexes.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-regexes.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-reindex-context.md b/docs/reference/scripting-languages/painless/painless-reindex-context.md index 168f6e2fcaaf4..41bec6d316b0f 100644 --- a/docs/reference/scripting-languages/painless/painless-reindex-context.md +++ b/docs/reference/scripting-languages/painless/painless-reindex-context.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-reindex-context.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-runtime-fields-context.md b/docs/reference/scripting-languages/painless/painless-runtime-fields-context.md index 1fbac613e0f79..6c7d9ba993f0f 100644 --- a/docs/reference/scripting-languages/painless/painless-runtime-fields-context.md +++ b/docs/reference/scripting-languages/painless/painless-runtime-fields-context.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-runtime-fields-context.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-score-context.md b/docs/reference/scripting-languages/painless/painless-score-context.md index dbb64fb76581f..f84adc4c86099 100644 --- a/docs/reference/scripting-languages/painless/painless-score-context.md +++ b/docs/reference/scripting-languages/painless/painless-score-context.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-score-context.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-scripts.md b/docs/reference/scripting-languages/painless/painless-scripts.md index a31e7c3dad840..7c5c493da81cc 100644 --- a/docs/reference/scripting-languages/painless/painless-scripts.md +++ b/docs/reference/scripting-languages/painless/painless-scripts.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-scripts.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-similarity-context.md b/docs/reference/scripting-languages/painless/painless-similarity-context.md index 3f1b73e5414a8..add472c1f32d9 100644 --- a/docs/reference/scripting-languages/painless/painless-similarity-context.md +++ b/docs/reference/scripting-languages/painless/painless-similarity-context.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-similarity-context.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-sort-context.md b/docs/reference/scripting-languages/painless/painless-sort-context.md index c52d6707b5167..95b3e696ab0df 100644 --- a/docs/reference/scripting-languages/painless/painless-sort-context.md +++ b/docs/reference/scripting-languages/painless/painless-sort-context.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-sort-context.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-statements.md b/docs/reference/scripting-languages/painless/painless-statements.md index 894ba3441b6f1..4a2bca8b259e1 100644 --- a/docs/reference/scripting-languages/painless/painless-statements.md +++ b/docs/reference/scripting-languages/painless/painless-statements.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-statements.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-types.md b/docs/reference/scripting-languages/painless/painless-types.md index 2f12bbb96032d..41deac1461333 100644 --- a/docs/reference/scripting-languages/painless/painless-types.md +++ b/docs/reference/scripting-languages/painless/painless-types.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-types.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-update-by-query-context.md b/docs/reference/scripting-languages/painless/painless-update-by-query-context.md index 17e4ac429860d..bd7d503475f35 100644 --- a/docs/reference/scripting-languages/painless/painless-update-by-query-context.md +++ b/docs/reference/scripting-languages/painless/painless-update-by-query-context.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-update-by-query-context.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-update-context.md b/docs/reference/scripting-languages/painless/painless-update-context.md index 202d8a36483ba..9b6db6528ef03 100644 --- a/docs/reference/scripting-languages/painless/painless-update-context.md +++ b/docs/reference/scripting-languages/painless/painless-update-context.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-update-context.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-variables.md b/docs/reference/scripting-languages/painless/painless-variables.md index 309953291a511..aa52e391ce78b 100644 --- a/docs/reference/scripting-languages/painless/painless-variables.md +++ b/docs/reference/scripting-languages/painless/painless-variables.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-variables.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-walkthrough-access-doc-values.md b/docs/reference/scripting-languages/painless/painless-walkthrough-access-doc-values.md index b04917d2e3987..f61fff4634e04 100644 --- a/docs/reference/scripting-languages/painless/painless-walkthrough-access-doc-values.md +++ b/docs/reference/scripting-languages/painless/painless-walkthrough-access-doc-values.md @@ -1,4 +1,7 @@ --- +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-walkthrough-dates.md b/docs/reference/scripting-languages/painless/painless-walkthrough-dates.md index e5865a4eb32cd..a7bdb07d7ab89 100644 --- a/docs/reference/scripting-languages/painless/painless-walkthrough-dates.md +++ b/docs/reference/scripting-languages/painless/painless-walkthrough-dates.md @@ -1,4 +1,7 @@ --- +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-walkthrough-missing-keys.md b/docs/reference/scripting-languages/painless/painless-walkthrough-missing-keys.md index 57d016d518456..d7df35a90af94 100644 --- a/docs/reference/scripting-languages/painless/painless-walkthrough-missing-keys.md +++ b/docs/reference/scripting-languages/painless/painless-walkthrough-missing-keys.md @@ -1,4 +1,7 @@ --- +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-walkthrough-missing-values.md b/docs/reference/scripting-languages/painless/painless-walkthrough-missing-values.md index c8eded7dd771a..172cc79d92f8d 100644 --- a/docs/reference/scripting-languages/painless/painless-walkthrough-missing-values.md +++ b/docs/reference/scripting-languages/painless/painless-walkthrough-missing-values.md @@ -1,4 +1,7 @@ --- +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-walkthrough-regular-expressions.md b/docs/reference/scripting-languages/painless/painless-walkthrough-regular-expressions.md index e050839579190..50af86e41f736 100644 --- a/docs/reference/scripting-languages/painless/painless-walkthrough-regular-expressions.md +++ b/docs/reference/scripting-languages/painless/painless-walkthrough-regular-expressions.md @@ -1,4 +1,7 @@ --- +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-walkthrough-updating-fields.md b/docs/reference/scripting-languages/painless/painless-walkthrough-updating-fields.md index d6e57eb33f948..4c1299dc6b438 100644 --- a/docs/reference/scripting-languages/painless/painless-walkthrough-updating-fields.md +++ b/docs/reference/scripting-languages/painless/painless-walkthrough-updating-fields.md @@ -1,4 +1,7 @@ --- +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-watcher-condition-context.md b/docs/reference/scripting-languages/painless/painless-watcher-condition-context.md index 9cbf798c7d175..b43091a9a8fb5 100644 --- a/docs/reference/scripting-languages/painless/painless-watcher-condition-context.md +++ b/docs/reference/scripting-languages/painless/painless-watcher-condition-context.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-watcher-condition-context.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-watcher-transform-context.md b/docs/reference/scripting-languages/painless/painless-watcher-transform-context.md index 5b7afcabf10ce..b06c35b33a155 100644 --- a/docs/reference/scripting-languages/painless/painless-watcher-transform-context.md +++ b/docs/reference/scripting-languages/painless/painless-watcher-transform-context.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-watcher-transform-context.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless-weight-context.md b/docs/reference/scripting-languages/painless/painless-weight-context.md index da0103aba61d7..e5c721c6ea233 100644 --- a/docs/reference/scripting-languages/painless/painless-weight-context.md +++ b/docs/reference/scripting-languages/painless/painless-weight-context.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-weight-context.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/painless.md b/docs/reference/scripting-languages/painless/painless.md index 181fc2f34fcf3..a11b74bd025b9 100644 --- a/docs/reference/scripting-languages/painless/painless.md +++ b/docs/reference/scripting-languages/painless/painless.md @@ -3,6 +3,9 @@ navigation_title: Painless mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/index.html - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-guide.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/use-painless-scripts-in-runtime-fields.md b/docs/reference/scripting-languages/painless/use-painless-scripts-in-runtime-fields.md index 6508bd10c56c5..c40cd8ec9f81a 100644 --- a/docs/reference/scripting-languages/painless/use-painless-scripts-in-runtime-fields.md +++ b/docs/reference/scripting-languages/painless/use-painless-scripts-in-runtime-fields.md @@ -1,11 +1,14 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-runtime-fields.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- -# Use painless scripts in runtime fields [painless-runtime-fields] +# Use Painless scripts in runtime fields [painless-runtime-fields] A runtime field is a field that is evaluated at query time. When you define a runtime field, you can immediately use it in search requests, aggregations, filtering, and sorting. diff --git a/docs/reference/scripting-languages/painless/using-datetime-in-painless.md b/docs/reference/scripting-languages/painless/using-datetime-in-painless.md index 87f547277fbfb..a2c346d2b6c52 100644 --- a/docs/reference/scripting-languages/painless/using-datetime-in-painless.md +++ b/docs/reference/scripting-languages/painless/using-datetime-in-painless.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-datetime.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- diff --git a/docs/reference/scripting-languages/painless/using-ingest-processors-in-painless.md b/docs/reference/scripting-languages/painless/using-ingest-processors-in-painless.md index 6062a943ade3c..50aa005c0fd08 100644 --- a/docs/reference/scripting-languages/painless/using-ingest-processors-in-painless.md +++ b/docs/reference/scripting-languages/painless/using-ingest-processors-in-painless.md @@ -1,6 +1,9 @@ --- mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-ingest.html +applies_to: + stack: ga + serverless: ga products: - id: painless --- From 5a639e7104818a4d56238d259049954c28cdf6e3 Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Mon, 3 Nov 2025 18:45:00 -0500 Subject: [PATCH 03/20] add operations --- .../painless/brief-painless-walkthrough.md | 9 +- .../painless/painless-datetime-comparison.md | 63 ++ .../painless/painless-datetime-conversion.md | 31 + .../painless/painless-datetime-difference.md | 44 + .../painless-datetime-examples-in-contexts.md | 167 ++++ .../painless/painless-datetime-input.md | 212 +++++ .../painless-datetime-modification.md | 44 + .../painless/painless-datetime-now.md | 119 +++ ...ainless-datetime-parsing-and-formatting.md | 81 ++ .../painless/painless-datetime-pieces.md | 42 + .../painless-datetime-representation.md | 23 + .../painless/painless-datetime-zone.md | 36 + .../painless/painless-walkthrough-dates.md | 2 +- ...less-walkthrough-missing-keys-or-values.md | 21 + .../painless-walkthrough-missing-keys.md | 17 - .../painless-walkthrough-missing-values.md | 11 - ...ainless-walkthrough-regular-expressions.md | 2 +- .../painless/using-datetime-in-painless.md | 817 +----------------- docs/reference/scripting-languages/toc.yml | 15 +- 19 files changed, 921 insertions(+), 835 deletions(-) create mode 100644 docs/reference/scripting-languages/painless/painless-datetime-comparison.md create mode 100644 docs/reference/scripting-languages/painless/painless-datetime-conversion.md create mode 100644 docs/reference/scripting-languages/painless/painless-datetime-difference.md create mode 100644 docs/reference/scripting-languages/painless/painless-datetime-examples-in-contexts.md create mode 100644 docs/reference/scripting-languages/painless/painless-datetime-input.md create mode 100644 docs/reference/scripting-languages/painless/painless-datetime-modification.md create mode 100644 docs/reference/scripting-languages/painless/painless-datetime-now.md create mode 100644 docs/reference/scripting-languages/painless/painless-datetime-parsing-and-formatting.md create mode 100644 docs/reference/scripting-languages/painless/painless-datetime-pieces.md create mode 100644 docs/reference/scripting-languages/painless/painless-datetime-representation.md create mode 100644 docs/reference/scripting-languages/painless/painless-datetime-zone.md create mode 100644 docs/reference/scripting-languages/painless/painless-walkthrough-missing-keys-or-values.md delete mode 100644 docs/reference/scripting-languages/painless/painless-walkthrough-missing-keys.md delete mode 100644 docs/reference/scripting-languages/painless/painless-walkthrough-missing-values.md diff --git a/docs/reference/scripting-languages/painless/brief-painless-walkthrough.md b/docs/reference/scripting-languages/painless/brief-painless-walkthrough.md index 0d2498baa18d7..a58578fe807d1 100644 --- a/docs/reference/scripting-languages/painless/brief-painless-walkthrough.md +++ b/docs/reference/scripting-languages/painless/brief-painless-walkthrough.md @@ -19,7 +19,7 @@ If you're new to Painless scripting or need step-by-step guidance, start with [H # A brief painless walkthrough [painless-walkthrough] -To illustrate how Painless works, let’s load some hockey stats into an Elasticsearch index: +To illustrate how Painless works, let’s load some hockey stats into an {{es}} index: ```console PUT hockey/_bulk?refresh @@ -48,3 +48,10 @@ PUT hockey/_bulk?refresh ``` % TESTSETUP +With the hockey data ingested, try out some basic operations that you can do in Painless: + +- [](/reference/scripting-languages/painless/painless-walkthrough-access-doc-values.md) +- [](/reference/scripting-languages/painless/painless-walkthrough-missing-keys-or-values.md) +- [](/reference/scripting-languages/painless/painless-walkthrough-updating-fields.md) +- [](/reference/scripting-languages/painless/painless-walkthrough-dates.md) +- [](/reference/scripting-languages/painless/painless-walkthrough-regular-expressions.md) \ No newline at end of file diff --git a/docs/reference/scripting-languages/painless/painless-datetime-comparison.md b/docs/reference/scripting-languages/painless/painless-datetime-comparison.md new file mode 100644 index 0000000000000..444eb45698679 --- /dev/null +++ b/docs/reference/scripting-languages/painless/painless-datetime-comparison.md @@ -0,0 +1,63 @@ +--- +applies_to: + stack: ga + serverless: ga +products: + - id: painless +--- + +# Datetime comparison [_datetime_comparison] + +Use either two numeric datetimes or two complex datetimes to do a datetime comparison. Use standard [comparison operators](/reference/scripting-languages/painless/painless-operators-boolean.md) to compare two numeric datetimes of the same time unit such as milliseconds. For complex datetimes there is often a method or another complex type ([object](/reference/scripting-languages/painless/painless-types.md#reference-types)) available to do the comparison. + +## Datetime comparison examples [_datetime_comparison_examples] + +* Perform a `greater than` comparison of two numeric datetimes in milliseconds: + + ```painless + long timestamp1 = 434931327000L; + long timestamp2 = 434931330000L; + + if (timestamp1 > timestamp2) { + // handle condition + } + ``` + +* Perform an `equality` comparison of two complex datetimes: + + ```painless + ZonedDateTime zdt1 = + ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 0, ZoneId.of('Z')); + ZonedDateTime zdt2 = + ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 0, ZoneId.of('Z')); + + if (zdt1.equals(zdt2)) { + // handle condition + } + ``` + +* Perform a `less than` comparison of two complex datetimes: + + ```painless + ZonedDateTime zdt1 = + ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 0, ZoneId.of('Z')); + ZonedDateTime zdt2 = + ZonedDateTime.of(1983, 10, 17, 22, 15, 35, 0, ZoneId.of('Z')); + + if (zdt1.isBefore(zdt2)) { + // handle condition + } + ``` + +* Perform a `greater than` comparison of two complex datetimes + + ```painless + ZonedDateTime zdt1 = + ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 0, ZoneId.of('Z')); + ZonedDateTime zdt2 = + ZonedDateTime.of(1983, 10, 17, 22, 15, 35, 0, ZoneId.of('Z')); + + if (zdt1.isAfter(zdt2)) { + // handle condition + } + ``` diff --git a/docs/reference/scripting-languages/painless/painless-datetime-conversion.md b/docs/reference/scripting-languages/painless/painless-datetime-conversion.md new file mode 100644 index 0000000000000..6ecc12df8e122 --- /dev/null +++ b/docs/reference/scripting-languages/painless/painless-datetime-conversion.md @@ -0,0 +1,31 @@ +--- +applies_to: + stack: ga + serverless: ga +products: + - id: painless +--- + +# Datetime conversion [_datetime_conversion] + +Datetime conversion is a switch from a numeric datetime to a complex datetime and the reverse. + +## Datetime conversion examples [_datetime_conversion_examples] + +* Convert a date from milliseconds: + + ```painless + long milliSinceEpoch = 434931330000L; + Instant instant = Instant.ofEpochMilli(milliSinceEpoch); + ZonedDateTime zdt = ZonedDateTime.ofInstant(instant, ZoneId.of('Z')); + ``` + +* Convert a date to milliseconds: + + ```painless + ZonedDateTime zdt = + ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 0, ZoneId.of('Z')); + long milliSinceEpoch = zdt.toInstant().toEpochMilli(); + ``` + + diff --git a/docs/reference/scripting-languages/painless/painless-datetime-difference.md b/docs/reference/scripting-languages/painless/painless-datetime-difference.md new file mode 100644 index 0000000000000..81b0084520b98 --- /dev/null +++ b/docs/reference/scripting-languages/painless/painless-datetime-difference.md @@ -0,0 +1,44 @@ +--- +navigation_title: Datetime difference +applies_to: + stack: ga + serverless: ga +products: + - id: painless +--- + +# Datetime difference (elapsed time) [_datetime_difference_elapsed_time] + +Use either two numeric datetimes or two complex datetimes to calculate the difference (elapsed time) between two different datetimes. Use [subtraction](/reference/scripting-languages/painless/painless-operators-numeric.md#subtraction-operator) to calculate the difference between two numeric datetimes of the same time unit such as milliseconds. For complex datetimes there is often a method or another complex type ([object](/reference/scripting-languages/painless/painless-types.md#reference-types)) available to calculate the difference. Use [ChronoUnit](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared-java-time-temporal.html#painless-api-reference-shared-ChronoUnit) to calculate the difference between two complex datetimes if supported. + +## Datetime difference examples [_datetime_difference_examples] + +* Calculate the difference in milliseconds between two numeric datetimes: + + ```painless + long startTimestamp = 434931327000L; + long endTimestamp = 434931330000L; + long differenceInMillis = endTimestamp - startTimestamp; + ``` + +* Calculate the difference in milliseconds between two complex datetimes: + + ```painless + ZonedDateTime zdt1 = + ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 11000000, ZoneId.of('Z')); + ZonedDateTime zdt2 = + ZonedDateTime.of(1983, 10, 13, 22, 15, 35, 0, ZoneId.of('Z')); + long differenceInMillis = ChronoUnit.MILLIS.between(zdt1, zdt2); + ``` + +* Calculate the difference in days between two complex datetimes: + + ```painless + ZonedDateTime zdt1 = + ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 11000000, ZoneId.of('Z')); + ZonedDateTime zdt2 = + ZonedDateTime.of(1983, 10, 17, 22, 15, 35, 0, ZoneId.of('Z')); + long differenceInDays = ChronoUnit.DAYS.between(zdt1, zdt2); + ``` + + diff --git a/docs/reference/scripting-languages/painless/painless-datetime-examples-in-contexts.md b/docs/reference/scripting-languages/painless/painless-datetime-examples-in-contexts.md new file mode 100644 index 0000000000000..86f60f480be5d --- /dev/null +++ b/docs/reference/scripting-languages/painless/painless-datetime-examples-in-contexts.md @@ -0,0 +1,167 @@ +--- +applies_to: + stack: ga + serverless: ga +products: + - id: painless +--- + +# Datetime examples in contexts [_datetime_examples_in_contexts] + +Try out these Painless datetime examples that include real world contexts. + +## Load the example data [_load_the_example_data] + +Run the following curl commands to load the data necessary for the context examples into an {{es}} cluster: + +1. Create [mappings](docs-content://manage-data/data-store/mapping.md) for the sample data. + + ```console + PUT /messages + { + "mappings": { + "properties": { + "priority": { + "type": "integer" + }, + "datetime": { + "type": "date" + }, + "message": { + "type": "text" + } + } + } + } + ``` + +2. Load the sample data. + + ```console + POST /_bulk + { "index" : { "_index" : "messages", "_id" : "1" } } + { "priority": 1, "datetime": "2019-07-17T12:13:14Z", "message": "m1" } + { "index" : { "_index" : "messages", "_id" : "2" } } + { "priority": 1, "datetime": "2019-07-24T01:14:59Z", "message": "m2" } + { "index" : { "_index" : "messages", "_id" : "3" } } + { "priority": 2, "datetime": "1983-10-14T00:36:42Z", "message": "m3" } + { "index" : { "_index" : "messages", "_id" : "4" } } + { "priority": 3, "datetime": "1983-10-10T02:15:15Z", "message": "m4" } + { "index" : { "_index" : "messages", "_id" : "5" } } + { "priority": 3, "datetime": "1983-10-10T17:18:19Z", "message": "m5" } + { "index" : { "_index" : "messages", "_id" : "6" } } + { "priority": 1, "datetime": "2019-08-03T17:19:31Z", "message": "m6" } + { "index" : { "_index" : "messages", "_id" : "7" } } + { "priority": 3, "datetime": "2019-08-04T17:20:00Z", "message": "m7" } + { "index" : { "_index" : "messages", "_id" : "8" } } + { "priority": 2, "datetime": "2019-08-04T18:01:01Z", "message": "m8" } + { "index" : { "_index" : "messages", "_id" : "9" } } + { "priority": 3, "datetime": "1983-10-10T19:00:45Z", "message": "m9" } + { "index" : { "_index" : "messages", "_id" : "10" } } + { "priority": 2, "datetime": "2019-07-23T23:39:54Z", "message": "m10" } + ``` + % TEST[continued] + + +## Day-of-the-week bucket aggregation example [_day_of_the_week_bucket_aggregation_example] + +The following example uses a [terms aggregation](/reference/aggregations/search-aggregations-bucket-terms-aggregation.md#search-aggregations-bucket-terms-aggregation-script) as part of the [bucket script aggregation context](/reference/scripting-languages/painless/painless-bucket-script-agg-context.md) to display the number of messages from each day-of-the-week. + +```console +GET /messages/_search?pretty=true +{ + "aggs": { + "day-of-week-count": { + "terms": { + "script": "return doc[\"datetime\"].value.getDayOfWeekEnum();" + } + } + } +} +``` +% TEST[continued] + +## Morning/evening bucket aggregation example [_morningevening_bucket_aggregation_example] + +The following example uses a [terms aggregation](/reference/aggregations/search-aggregations-bucket-terms-aggregation.md#search-aggregations-bucket-terms-aggregation-script) as part of the [bucket script aggregation context](/reference/scripting-languages/painless/painless-bucket-script-agg-context.md) to display the number of messages received in the morning versus the evening. + +```console +GET /messages/_search?pretty=true +{ + "aggs": { + "am-pm-count": { + "terms": { + "script": "return doc[\"datetime\"].value.getHour() < 12 ? \"AM\" : \"PM\";" + } + } + } +} +``` +% TEST[continued] + +## Age of a message script field example [_age_of_a_message_script_field_example] + +The following example uses a [script field](/reference/elasticsearch/rest-apis/retrieve-selected-fields.md#script-fields) as part of the [field context](/reference/scripting-languages/painless/painless-field-context.md) to display the elapsed time between "now" and when a message was received. + +```console +GET /_search?pretty=true +{ + "query": { + "match_all": {} + }, + "script_fields": { + "message_age": { + "script": { + "source": "ZonedDateTime now = ZonedDateTime.ofInstant(Instant.ofEpochMilli(params[\"now\"]), ZoneId.of(\"Z\")); ZonedDateTime mdt = doc[\"datetime\"].value; String age; long years = mdt.until(now, ChronoUnit.YEARS); age = years + \"Y \"; mdt = mdt.plusYears(years); long months = mdt.until(now, ChronoUnit.MONTHS); age += months + \"M \"; mdt = mdt.plusMonths(months); long days = mdt.until(now, ChronoUnit.DAYS); age += days + \"D \"; mdt = mdt.plusDays(days); long hours = mdt.until(now, ChronoUnit.HOURS); age += hours + \"h \"; mdt = mdt.plusHours(hours); long minutes = mdt.until(now, ChronoUnit.MINUTES); age += minutes + \"m \"; mdt = mdt.plusMinutes(minutes); long seconds = mdt.until(now, ChronoUnit.SECONDS); age += hours + \"s\"; return age;", + "params": { + "now": 1574005645830 + } + } + } + } +} +``` +% TEST[continued] + +The following shows the script broken into multiple lines: + +```painless +ZonedDateTime now = ZonedDateTime.ofInstant( + Instant.ofEpochMilli(params['now']), ZoneId.of('Z')); <1> +ZonedDateTime mdt = doc['datetime'].value; <2> + +String age; + +long years = mdt.until(now, ChronoUnit.YEARS); <3> +age = years + 'Y '; <4> +mdt = mdt.plusYears(years); <5> + +long months = mdt.until(now, ChronoUnit.MONTHS); +age += months + 'M '; +mdt = mdt.plusMonths(months); + +long days = mdt.until(now, ChronoUnit.DAYS); +age += days + 'D '; +mdt = mdt.plusDays(days); + +long hours = mdt.until(now, ChronoUnit.HOURS); +age += hours + 'h '; +mdt = mdt.plusHours(hours); + +long minutes = mdt.until(now, ChronoUnit.MINUTES); +age += minutes + 'm '; +mdt = mdt.plusMinutes(minutes); + +long seconds = mdt.until(now, ChronoUnit.SECONDS); +age += hours + 's'; + +return age; <6> +``` + +1. Parse the datetime "now" as input from the user-defined params. +2. Store the datetime the message was received as a `ZonedDateTime`. +3. Find the difference in years between "now" and the datetime the message was received. +4. Add the difference in years later returned in the format `Y ...` for the age of a message. +5. Add the years so only the remainder of the months, days, etc. remain as the difference between "now" and the datetime the message was received. Repeat this pattern until the desired granularity is reached (seconds in this example). +6. Return the age of the message in the format `Y M D h m s `. + diff --git a/docs/reference/scripting-languages/painless/painless-datetime-input.md b/docs/reference/scripting-languages/painless/painless-datetime-input.md new file mode 100644 index 0000000000000..e3b553bcba178 --- /dev/null +++ b/docs/reference/scripting-languages/painless/painless-datetime-input.md @@ -0,0 +1,212 @@ +--- +applies_to: + stack: ga + serverless: ga +products: + - id: painless +--- + +# Datetime Input [_datetime_input] + +There are several common ways datetimes are used as input for a script determined by the [Painless context](/reference/scripting-languages/painless/painless-contexts.md). Typically, datetime input will be accessed from parameters specified by the user, from an original source document, or from an indexed document. + +## Datetime input from user parameters [_datetime_input_from_user_parameters] + +Use the [params section](docs-content://explore-analyze/scripting/modules-scripting-using.md) during script specification to pass in a numeric datetime or string datetime as a script input. Access to user-defined parameters within a script is dependent on the Painless context, though, the parameters are most commonly accessible through an input called `params`. + +**Examples** + +* Parse a numeric datetime from user parameters to a complex datetime + + * Input: + + ```JSON + ... + "script": { + ... + "params": { + "input_datetime": 434931327000 + } + } + ... + ``` + + * Script: + + ```painless + long inputDateTime = params['input_datetime']; + Instant instant = Instant.ofEpochMilli(inputDateTime); + ZonedDateTime zdt = ZonedDateTime.ofInstant(instant, ZoneId.of('Z')); + ``` + +* Parse a string datetime from user parameters to a complex datetime + + * Input: + + ```JSON + ... + "script": { + ... + "params": { + "input_datetime": "custom y 1983 m 10 d 13 22:15:30 Z" + } + } + ... + ``` + + * Script: + + ```painless + String datetime = params['input_datetime']; + DateTimeFormatter dtf = DateTimeFormatter.ofPattern( + "'custom' 'y' yyyy 'm' MM 'd' dd HH:mm:ss VV"); + ZonedDateTime zdt = ZonedDateTime.parse(datetime, dtf); <1> + ``` + + 1. Note the use of a custom DateTimeFormatter. + + + +## Datetime input from a source document [_datetime_input_from_a_source_document] + +Use an original [source](/reference/elasticsearch/mapping-reference/mapping-source-field.md) document as a script input to access a numeric datetime or string datetime for a specific field within that document. Access to an original source document within a script is dependent on the Painless context and is not always available. An original source document is most commonly accessible through an input called `ctx['_source']` or `params['_source']`. + +**Examples** + +* Parse a numeric datetime from a sourced document to a complex datetime + + * Input: + + ```JSON + { + ... + "input_datetime": 434931327000 + ... + } + ``` + + * Script: + + ```painless + long inputDateTime = ctx['_source']['input_datetime']; <1> + Instant instant = Instant.ofEpochMilli(inputDateTime); + ZonedDateTime zdt = ZonedDateTime.ofInstant(instant, ZoneId.of('Z')); + ``` + + 1. Note access to `_source` is dependent on the Painless context. + +* Parse a string datetime from a sourced document to a complex datetime + + * Input: + + ```JSON + { + ... + "input_datetime": "1983-10-13T22:15:30Z" + ... + } + ``` + + * Script: + + ```painless + String datetime = params['_source']['input_datetime']; <1> + ZonedDateTime zdt = ZonedDateTime.parse(datetime); <2> + ``` + + 1. Note access to `_source` is dependent on the Painless context. + 2. Note the parse method uses ISO 8601 by default. + + + +## Datetime input from an indexed document [_datetime_input_from_an_indexed_document] + +Use an indexed document as a script input to access a complex datetime for a specific field within that document where the field is mapped as a [standard date](/reference/elasticsearch/mapping-reference/date.md) or a [nanosecond date](/reference/elasticsearch/mapping-reference/date_nanos.md). Numeric datetime fields mapped as [numeric](/reference/elasticsearch/mapping-reference/number.md) and string datetime fields mapped as [keyword](/reference/elasticsearch/mapping-reference/keyword.md) are accessible through an indexed document as well. Access to an indexed document within a script is dependent on the Painless context and is not always available. An indexed document is most commonly accessible through an input called `doc`. + +**Examples** + +* Format a complex datetime from an indexed document to a string datetime + + * Assumptions: + + * The field `input_datetime` exists in all indexes as part of the query + * All indexed documents contain the field `input_datetime` + + * Mappings: + + ```JSON + { + "mappings": { + ... + "properties": { + ... + "input_datetime": { + "type": "date" + } + ... + } + ... + } + } + ``` + + * Script: + + ```painless + ZonedDateTime input = doc['input_datetime'].value; + String output = input.format(DateTimeFormatter.ISO_INSTANT); <1> + ``` + + 1. Note the use of a built-in DateTimeFormatter. + +* Find the difference between two complex datetimes from an indexed document + + * Assumptions: + + * The fields `start` and `end` may **not** exist in all indexes as part of the query + * The fields `start` and `end` may **not** have values in all indexed documents + + * Mappings: + + ```JSON + { + "mappings": { + ... + "properties": { + ... + "start": { + "type": "date" + }, + "end": { + "type": "date" + } + ... + } + ... + } + } + ``` + + * Script: + + ```painless + if (doc.containsKey('start') && doc.containsKey('end')) { <1> + + if (doc['start'].size() > 0 && doc['end'].size() > 0) { <2> + + ZonedDateTime start = doc['start'].value; + ZonedDateTime end = doc['end'].value; + long differenceInMillis = ChronoUnit.MILLIS.between(start, end); + + // handle difference in times + } else { + // handle fields without values + } + } else { + // handle index with missing fields + } + ``` + + 1. When a query’s results span multiple indexes, some indexes may not contain a specific field. Use the `containsKey` method call on the `doc` input to ensure a field exists as part of the index for the current document. + 2. Some fields within a document may have no values. Use the `size` method call on a field within the `doc` input to ensure that field has at least one value for the current document. + diff --git a/docs/reference/scripting-languages/painless/painless-datetime-modification.md b/docs/reference/scripting-languages/painless/painless-datetime-modification.md new file mode 100644 index 0000000000000..f845c671fef85 --- /dev/null +++ b/docs/reference/scripting-languages/painless/painless-datetime-modification.md @@ -0,0 +1,44 @@ +--- +applies_to: + stack: ga + serverless: ga +products: + - id: painless +--- + +# Datetime Modification [_datetime_modification] + +Use either a numeric datetime or a complex datetime to do modification such as adding several seconds to a datetime or subtracting several days from a datetime. Use standard [numeric operators](/reference/scripting-languages/painless/painless-operators-numeric.md) to modify a numeric datetime. Use [methods](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared-java-time.html#painless-api-reference-shared-ZonedDateTime) (or fields) to modify a complex datetime. Note many complex datetimes are immutable so upon modification a new complex datetime is created that requires [assignment](/reference/scripting-languages/painless/painless-variables.md#variable-assignment) or immediate use. + +## Datetime modification examples [_datetime_modification_examples] + +* Subtract three seconds from a numeric datetime in milliseconds: + + ```painless + long milliSinceEpoch = 434931330000L; + milliSinceEpoch = milliSinceEpoch - 1000L*3L; + ``` + +* Add three days to a complex datetime: + + ```painless + ZonedDateTime zdt = + ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 0, ZoneId.of('Z')); + ZonedDateTime updatedZdt = zdt.plusDays(3); + ``` + +* Subtract 125 minutes from a complex datetime: + + ```painless + ZonedDateTime zdt = + ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 0, ZoneId.of('Z')); + ZonedDateTime updatedZdt = zdt.minusMinutes(125); + ``` + +* Set the year on a complex datetime: + + ```painless + ZonedDateTime zdt = + ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 0, ZoneId.of('Z')); + ZonedDateTime updatedZdt = zdt.withYear(1976); + ``` diff --git a/docs/reference/scripting-languages/painless/painless-datetime-now.md b/docs/reference/scripting-languages/painless/painless-datetime-now.md new file mode 100644 index 0000000000000..2b8de2f07b997 --- /dev/null +++ b/docs/reference/scripting-languages/painless/painless-datetime-now.md @@ -0,0 +1,119 @@ +--- +applies_to: + stack: ga + serverless: ga +products: + - id: painless +--- + +# Datetime now [_datetime_now] + +Under most Painless contexts the current datetime, `now`, is not supported. There are two primary reasons for this. The first is that scripts are often run once per document, so each time the script is run a different `now` is returned. The second is that scripts are often run in a distributed fashion without a way to appropriately synchronize `now`. Instead, pass in a user-defined parameter with either a string datetime or numeric datetime for `now`. A numeric datetime is preferred as there is no need to parse it for comparison. + +## Datetime now examples [_datetime_now_examples] + +* Use a numeric datetime as `now` + + * Assumptions: + + * The field `input_datetime` exists in all indexes as part of the query + * All indexed documents contain the field `input_datetime` + + * Mappings: + + ```JSON + { + "mappings": { + ... + "properties": { + ... + "input_datetime": { + "type": "date" + } + ... + } + ... + } + } + ``` + % NOTCONSOLE + + * Input: + + ```JSON + ... + "script": { + ... + "params": { + "now": + } + } + ... + ``` + % NOTCONSOLE + + * Script: + + ```painless + long now = params['now']; + ZonedDateTime inputDateTime = doc['input_datetime']; + long millisDateTime = inputDateTime.toInstant().toEpochMilli(); + long elapsedTime = now - millisDateTime; + ``` + % NOTCONSOLE + +* Use a string datetime as `now` + + * Assumptions: + + * The field `input_datetime` exists in all indexes as part of the query + * All indexed documents contain the field `input_datetime` + + * Mappings: + + ```JSON + { + "mappings": { + ... + "properties": { + ... + "input_datetime": { + "type": "date" + } + ... + } + ... + } + } + ``` + % NOTCONSOLE + + * Input: + + ```JSON + ... + "script": { + ... + "params": { + "now": "" + } + } + ... + ``` + % NOTCONSOLE + + * Script: + + ```painless + String nowString = params['now']; + ZonedDateTime nowZdt = ZonedDateTime.parse(nowString); <1> + long now = ZonedDateTime.toInstant().toEpochMilli(); + ZonedDateTime inputDateTime = doc['input_datetime']; + long millisDateTime = zdt.toInstant().toEpochMilli(); + long elapsedTime = now - millisDateTime; + ``` + % NOTCONSOLE + + 1. This parses the same string datetime every time the script runs. Use a numeric datetime to avoid a significant performance hit. + + diff --git a/docs/reference/scripting-languages/painless/painless-datetime-parsing-and-formatting.md b/docs/reference/scripting-languages/painless/painless-datetime-parsing-and-formatting.md new file mode 100644 index 0000000000000..91c9ae81d180a --- /dev/null +++ b/docs/reference/scripting-languages/painless/painless-datetime-parsing-and-formatting.md @@ -0,0 +1,81 @@ +--- +applies_to: + stack: ga + serverless: ga +products: + - id: painless +--- + +# Datetime parsing and formatting [_datetime_parsing_and_formatting] + +Datetime parsing is a switch from a string datetime to a complex datetime, and datetime formatting is a switch from a complex datetime to a string datetime. + +A [DateTimeFormatter](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared-java-time-format.html#painless-api-reference-shared-DateTimeFormatter) is a complex type ([object](/reference/scripting-languages/painless/painless-types.md#reference-types)) that defines the allowed sequence of characters for a string datetime. Datetime parsing and formatting often require a DateTimeFormatter. For more information about how to use a DateTimeFormatter see the [Java documentation](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html). + +## Datetime parsing examples [_datetime_parsing_examples] + +* Parse from milliseconds: + + ```painless + String milliSinceEpochString = "434931330000"; + long milliSinceEpoch = Long.parseLong(milliSinceEpochString); + Instant instant = Instant.ofEpochMilli(milliSinceEpoch); + ZonedDateTime zdt = ZonedDateTime.ofInstant(instant, ZoneId.of('Z')); + ``` + +* Parse from ISO 8601: + + ```painless + String datetime = '1983-10-13T22:15:30Z'; + ZonedDateTime zdt = ZonedDateTime.parse(datetime); <1> + ``` + + 1. Note the parse method uses ISO 8601 by default. + +* Parse from RFC 1123: + + ```painless + String datetime = 'Thu, 13 Oct 1983 22:15:30 GMT'; + ZonedDateTime zdt = ZonedDateTime.parse(datetime, + DateTimeFormatter.RFC_1123_DATE_TIME); <1> + ``` + + 1. Note the use of a built-in DateTimeFormatter. + +* Parse from a custom format: + + ```painless + String datetime = 'custom y 1983 m 10 d 13 22:15:30 Z'; + DateTimeFormatter dtf = DateTimeFormatter.ofPattern( + "'custom' 'y' yyyy 'm' MM 'd' dd HH:mm:ss VV"); + ZonedDateTime zdt = ZonedDateTime.parse(datetime, dtf); <1> + ``` + + 1. Note the use of a custom DateTimeFormatter. + + + +## Datetime formatting examples [_datetime_formatting_examples] + +* Format to ISO 8601: + + ```painless + ZonedDateTime zdt = + ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 0, ZoneId.of('Z')); + String datetime = zdt.format(DateTimeFormatter.ISO_INSTANT); <1> + ``` + + 1. Note the use of a built-in DateTimeFormatter. + +* Format to a custom format: + + ```painless + ZonedDateTime zdt = + ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 0, ZoneId.of('Z')); + DateTimeFormatter dtf = DateTimeFormatter.ofPattern( + "'date:' yyyy/MM/dd 'time:' HH:mm:ss"); + String datetime = zdt.format(dtf); <1> + ``` + + 1. Note the use of a custom DateTimeFormatter. + diff --git a/docs/reference/scripting-languages/painless/painless-datetime-pieces.md b/docs/reference/scripting-languages/painless/painless-datetime-pieces.md new file mode 100644 index 0000000000000..fd58ccb13b372 --- /dev/null +++ b/docs/reference/scripting-languages/painless/painless-datetime-pieces.md @@ -0,0 +1,42 @@ +--- +applies_to: + stack: ga + serverless: ga +products: + - id: painless +--- + +# Datetime Pieces [_datetime_pieces] + +Datetime representations often contain the data to extract individual datetime pieces such as year, hour, timezone, etc. Use individual pieces of a datetime to create a complex datetime, and use a complex datetime to extract individual pieces. + +## Datetime Pieces Examples [_datetime_pieces_examples] + +* Create a complex datetime from pieces: + + ```painless + int year = 1983; + int month = 10; + int day = 13; + int hour = 22; + int minutes = 15; + int seconds = 30; + int nanos = 0; + ZonedDateTime zdt = ZonedDateTime.of( + year, month, day, hour, minutes, seconds, nanos, ZoneId.of('Z')); + ``` + +* Extract pieces from a complex datetime: + + ```painless + ZonedDateTime zdt = + ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 100, ZoneId.of(tz)); + int year = zdt.getYear(); + int month = zdt.getMonthValue(); + int day = zdt.getDayOfMonth(); + int hour = zdt.getHour(); + int minutes = zdt.getMinute(); + int seconds = zdt.getSecond(); + int nanos = zdt.getNano(); + ``` + diff --git a/docs/reference/scripting-languages/painless/painless-datetime-representation.md b/docs/reference/scripting-languages/painless/painless-datetime-representation.md new file mode 100644 index 0000000000000..ff5e27359d557 --- /dev/null +++ b/docs/reference/scripting-languages/painless/painless-datetime-representation.md @@ -0,0 +1,23 @@ +--- +applies_to: + stack: ga + serverless: ga +products: + - id: painless +--- + +# Datetime representation [_datetime_representation] + +Datetimes in Painless are most commonly represented as a numeric value, a string value, or a complex value. + +numeric +: A datetime representation as a number from a starting offset called an epoch; in Painless this is typically a [long](/reference/scripting-languages/painless/painless-types.md#primitive-types) as milliseconds since an epoch of `1970-01-01 00:00:00` Zulu Time + +string +: A datetime representation as a sequence of characters defined by a standard format or a custom format; in Painless this is typically a [String](/reference/scripting-languages/painless/painless-types.md#string-type) of the standard format [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) + +complex +: A datetime representation as a complex type ([object](/reference/scripting-languages/painless/painless-types.md#reference-types)) that abstracts away internal details of how the datetime is stored and often provides utilities for modification and comparison; in Painless this is typically a [ZonedDateTime](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared-java-time.html#painless-api-reference-shared-ZonedDateTime) + +Switching between different representations of datetimes is often necessary to achieve a script’s objectives. A typical pattern in a script is to switch a numeric or string datetime to a complex datetime, modify or compare the complex datetime, and then switch it back to a numeric or string datetime for storage or to return a result. + diff --git a/docs/reference/scripting-languages/painless/painless-datetime-zone.md b/docs/reference/scripting-languages/painless/painless-datetime-zone.md new file mode 100644 index 0000000000000..9e1c869fd6fe8 --- /dev/null +++ b/docs/reference/scripting-languages/painless/painless-datetime-zone.md @@ -0,0 +1,36 @@ +--- +applies_to: + stack: ga + serverless: ga +products: + - id: painless +--- + +# Datetime zone [_datetime_zone] + +Both string datetimes and complex datetimes have a timezone with a default of `UTC`. Numeric datetimes do not have enough explicit information to have a timezone, so `UTC` is always assumed. Use [methods](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared-java-time.html#painless-api-reference-shared-ZonedDateTime) (or fields) in conjunction with a [ZoneId](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared-java-time.html#painless-api-reference-shared-ZoneId) to change the timezone for a complex datetime. Parse a string datetime into a complex datetime to change the timezone, and then format the complex datetime back into a desired string datetime. Note many complex datetimes are immutable so upon modification a new complex datetime is created that requires [assignment](/reference/scripting-languages/painless/painless-variables.md#variable-assignment) or immediate use. + +## Datetime zone examples [_datetime_zone_examples] + +* Modify the timezone for a complex datetime: + + ```painless + ZonedDateTime utc = + ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 0, ZoneId.of('Z')); + ZonedDateTime pst = utc.withZoneSameInstant(ZoneId.of('America/Los_Angeles')); + ``` + +* Modify the timezone for a string datetime: + + ```painless + String gmtString = 'Thu, 13 Oct 1983 22:15:30 GMT'; + ZonedDateTime gmtZdt = ZonedDateTime.parse(gmtString, + DateTimeFormatter.RFC_1123_DATE_TIME); <1> + ZonedDateTime pstZdt = + gmtZdt.withZoneSameInstant(ZoneId.of('America/Los_Angeles')); + String pstString = pstZdt.format(DateTimeFormatter.RFC_1123_DATE_TIME); + ``` + + 1. Note the use of a built-in DateTimeFormatter. + + diff --git a/docs/reference/scripting-languages/painless/painless-walkthrough-dates.md b/docs/reference/scripting-languages/painless/painless-walkthrough-dates.md index a7bdb07d7ab89..60a4cb7a9b256 100644 --- a/docs/reference/scripting-languages/painless/painless-walkthrough-dates.md +++ b/docs/reference/scripting-languages/painless/painless-walkthrough-dates.md @@ -8,7 +8,7 @@ products: # Dates [modules-scripting-painless-dates] -Date fields are exposed as `ZonedDateTime`, so they support methods like `getYear`, `getDayOfWeek` or e.g. getting milliseconds since epoch with `getMillis`. To use these in a script, leave out the `get` prefix and continue with lowercasing the rest of the method name. For example, the following returns every hockey player’s birth year: +Date fields are exposed as `ZonedDateTime`, so they support methods like `getYear`, `getDayOfWeek` or, for example, getting milliseconds since epoch with `getMillis`. To use these in a script, leave out the `get` prefix and continue with lowercasing the rest of the method name. For example, the following returns every hockey player’s birth year: ```console GET hockey/_search diff --git a/docs/reference/scripting-languages/painless/painless-walkthrough-missing-keys-or-values.md b/docs/reference/scripting-languages/painless/painless-walkthrough-missing-keys-or-values.md new file mode 100644 index 0000000000000..a4c68f9516db8 --- /dev/null +++ b/docs/reference/scripting-languages/painless/painless-walkthrough-missing-keys-or-values.md @@ -0,0 +1,21 @@ +--- +applies_to: + stack: ga + serverless: ga +products: + - id: painless +--- + +# Missing keys or values [_missing_keys] + +When you access document values, using `doc['myfield'].value` throws an exception if the specified field is missing in a document. + +For more dynamic index mappings, you can write a catch equation: + +``` +if (!doc.containsKey('myfield') || doc['myfield'].empty) { return "unavailable" } else { return doc['myfield'].value } +``` + +This expression tests for the existence of `myfield`, returning its value only if the key exists. + +To check if a document is missing a value, call `doc['myfield'].size() == 0`. \ No newline at end of file diff --git a/docs/reference/scripting-languages/painless/painless-walkthrough-missing-keys.md b/docs/reference/scripting-languages/painless/painless-walkthrough-missing-keys.md deleted file mode 100644 index d7df35a90af94..0000000000000 --- a/docs/reference/scripting-languages/painless/painless-walkthrough-missing-keys.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -applies_to: - stack: ga - serverless: ga -products: - - id: painless ---- - -# Missing keys [_missing_keys] - -`doc['myfield'].value` throws an exception if the field is missing in a document. - -For more dynamic index mappings, you may consider writing a catch equation - -``` -if (!doc.containsKey('myfield') || doc['myfield'].empty) { return "unavailable" } else { return doc['myfield'].value } -``` diff --git a/docs/reference/scripting-languages/painless/painless-walkthrough-missing-values.md b/docs/reference/scripting-languages/painless/painless-walkthrough-missing-values.md deleted file mode 100644 index 172cc79d92f8d..0000000000000 --- a/docs/reference/scripting-languages/painless/painless-walkthrough-missing-values.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -applies_to: - stack: ga - serverless: ga -products: - - id: painless ---- - -# Missing values [_missing_values] - -To check if a document is missing a value, you can call `doc['myfield'].size() == 0`. \ No newline at end of file diff --git a/docs/reference/scripting-languages/painless/painless-walkthrough-regular-expressions.md b/docs/reference/scripting-languages/painless/painless-walkthrough-regular-expressions.md index 50af86e41f736..69078254eb2cf 100644 --- a/docs/reference/scripting-languages/painless/painless-walkthrough-regular-expressions.md +++ b/docs/reference/scripting-languages/painless/painless-walkthrough-regular-expressions.md @@ -9,7 +9,7 @@ products: # Regular expressions [modules-scripting-painless-regex] ::::{note} -Regexes are enabled by default as the Setting `script.painless.regex.enabled` has a new option, `limited`, the default. This defaults to using regular expressions but limiting the complexity of the regular expressions. Innocuous looking regexes can have staggering performance and stack depth behavior. But still, they remain an amazingly powerful tool. In addition, to `limited`, the setting can be set to `true`, as before, which enables regular expressions without limiting them.To enable them yourself set `script.painless.regex.enabled: true` in `elasticsearch.yml`. +Regexes are enabled by default by the setting `script.painless.regex.enabled` which has a default value of `limited` the default. This enables the use of regular expressions but limits their complexity. Innocuous looking regexes can have sometimes have adverse performance and stack depth behavior, but they still remain a powerful tool. In addition to `limited`, you can set `script.painless.regex.enabled` to `true` in `elasticsearch.yml` to enable regular expressions without limiting them. :::: diff --git a/docs/reference/scripting-languages/painless/using-datetime-in-painless.md b/docs/reference/scripting-languages/painless/using-datetime-in-painless.md index a2c346d2b6c52..1d9aa7ca77a1b 100644 --- a/docs/reference/scripting-languages/painless/using-datetime-in-painless.md +++ b/docs/reference/scripting-languages/painless/using-datetime-in-painless.md @@ -20,805 +20,18 @@ Datetimes in Painless use the standard Java libraries and are available through * [java.time.temporal](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared-java-time-temporal.html) * [java.time.zone](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared-java-time-zone.html) - -## Datetime Representation [_datetime_representation] - -Datetimes in Painless are most commonly represented as a numeric value, a string value, or a complex value. - -numeric -: a datetime representation as a number from a starting offset called an epoch; in Painless this is typically a [long](/reference/scripting-languages/painless/painless-types.md#primitive-types) as milliseconds since an epoch of 1970-01-01 00:00:00 Zulu Time - -string -: a datetime representation as a sequence of characters defined by a standard format or a custom format; in Painless this is typically a [String](/reference/scripting-languages/painless/painless-types.md#string-type) of the standard format [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) - -complex -: a datetime representation as a complex type ([object](/reference/scripting-languages/painless/painless-types.md#reference-types)) that abstracts away internal details of how the datetime is stored and often provides utilities for modification and comparison; in Painless this is typically a [ZonedDateTime](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared-java-time.html#painless-api-reference-shared-ZonedDateTime) - -Switching between different representations of datetimes is often necessary to achieve a script’s objective(s). A typical pattern in a script is to switch a numeric or string datetime to a complex datetime, modify or compare the complex datetime, and then switch it back to a numeric or string datetime for storage or to return a result. - - -## Datetime Parsing and Formatting [_datetime_parsing_and_formatting] - -Datetime parsing is a switch from a string datetime to a complex datetime, and datetime formatting is a switch from a complex datetime to a string datetime. - -A [DateTimeFormatter](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared-java-time-format.html#painless-api-reference-shared-DateTimeFormatter) is a complex type ([object](/reference/scripting-languages/painless/painless-types.md#reference-types)) that defines the allowed sequence of characters for a string datetime. Datetime parsing and formatting often require a DateTimeFormatter. For more information about how to use a DateTimeFormatter see the [Java documentation](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html). - -### Datetime Parsing Examples [_datetime_parsing_examples] - -* parse from milliseconds - - ```painless - String milliSinceEpochString = "434931330000"; - long milliSinceEpoch = Long.parseLong(milliSinceEpochString); - Instant instant = Instant.ofEpochMilli(milliSinceEpoch); - ZonedDateTime zdt = ZonedDateTime.ofInstant(instant, ZoneId.of('Z')); - ``` - -* parse from ISO 8601 - - ```painless - String datetime = '1983-10-13T22:15:30Z'; - ZonedDateTime zdt = ZonedDateTime.parse(datetime); <1> - ``` - - 1. Note the parse method uses ISO 8601 by default. - -* parse from RFC 1123 - - ```painless - String datetime = 'Thu, 13 Oct 1983 22:15:30 GMT'; - ZonedDateTime zdt = ZonedDateTime.parse(datetime, - DateTimeFormatter.RFC_1123_DATE_TIME); <1> - ``` - - 1. Note the use of a built-in DateTimeFormatter. - -* parse from a custom format - - ```painless - String datetime = 'custom y 1983 m 10 d 13 22:15:30 Z'; - DateTimeFormatter dtf = DateTimeFormatter.ofPattern( - "'custom' 'y' yyyy 'm' MM 'd' dd HH:mm:ss VV"); - ZonedDateTime zdt = ZonedDateTime.parse(datetime, dtf); <1> - ``` - - 1. Note the use of a custom DateTimeFormatter. - - - -### Datetime Formatting Examples [_datetime_formatting_examples] - -* format to ISO 8601 - - ```painless - ZonedDateTime zdt = - ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 0, ZoneId.of('Z')); - String datetime = zdt.format(DateTimeFormatter.ISO_INSTANT); <1> - ``` - - 1. Note the use of a built-in DateTimeFormatter. - -* format to a custom format - - ```painless - ZonedDateTime zdt = - ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 0, ZoneId.of('Z')); - DateTimeFormatter dtf = DateTimeFormatter.ofPattern( - "'date:' yyyy/MM/dd 'time:' HH:mm:ss"); - String datetime = zdt.format(dtf); <1> - ``` - - 1. Note the use of a custom DateTimeFormatter. - - - - -## Datetime Conversion [_datetime_conversion] - -Datetime conversion is a switch from a numeric datetime to a complex datetime and vice versa. - -### Datetime Conversion Examples [_datetime_conversion_examples] - -* convert from milliseconds - - ```painless - long milliSinceEpoch = 434931330000L; - Instant instant = Instant.ofEpochMilli(milliSinceEpoch); - ZonedDateTime zdt = ZonedDateTime.ofInstant(instant, ZoneId.of('Z')); - ``` - -* convert to milliseconds - - ```painless - ZonedDateTime zdt = - ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 0, ZoneId.of('Z')); - long milliSinceEpoch = zdt.toInstant().toEpochMilli(); - ``` - - - - -## Datetime Pieces [_datetime_pieces] - -Datetime representations often contain the data to extract individual datetime pieces such as year, hour, timezone, etc. Use individual pieces of a datetime to create a complex datetime, and use a complex datetime to extract individual pieces. - -### Datetime Pieces Examples [_datetime_pieces_examples] - -* create a complex datetime from pieces - - ```painless - int year = 1983; - int month = 10; - int day = 13; - int hour = 22; - int minutes = 15; - int seconds = 30; - int nanos = 0; - ZonedDateTime zdt = ZonedDateTime.of( - year, month, day, hour, minutes, seconds, nanos, ZoneId.of('Z')); - ``` - -* extract pieces from a complex datetime - - ```painless - ZonedDateTime zdt = - ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 100, ZoneId.of(tz)); - int year = zdt.getYear(); - int month = zdt.getMonthValue(); - int day = zdt.getDayOfMonth(); - int hour = zdt.getHour(); - int minutes = zdt.getMinute(); - int seconds = zdt.getSecond(); - int nanos = zdt.getNano(); - ``` - - - - -## Datetime Modification [_datetime_modification] - -Use either a numeric datetime or a complex datetime to do modification such as adding several seconds to a datetime or subtracting several days from a datetime. Use standard [numeric operators](/reference/scripting-languages/painless/painless-operators-numeric.md) to modify a numeric datetime. Use [methods](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared-java-time.html#painless-api-reference-shared-ZonedDateTime) (or fields) to modify a complex datetime. Note many complex datetimes are immutable so upon modification a new complex datetime is created that requires [assignment](/reference/scripting-languages/painless/painless-variables.md#variable-assignment) or immediate use. - -### Datetime Modification Examples [_datetime_modification_examples] - -* Subtract three seconds from a numeric datetime in milliseconds - - ```painless - long milliSinceEpoch = 434931330000L; - milliSinceEpoch = milliSinceEpoch - 1000L*3L; - ``` - -* Add three days to a complex datetime - - ```painless - ZonedDateTime zdt = - ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 0, ZoneId.of('Z')); - ZonedDateTime updatedZdt = zdt.plusDays(3); - ``` - -* Subtract 125 minutes from a complex datetime - - ```painless - ZonedDateTime zdt = - ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 0, ZoneId.of('Z')); - ZonedDateTime updatedZdt = zdt.minusMinutes(125); - ``` - -* Set the year on a complex datetime - - ```painless - ZonedDateTime zdt = - ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 0, ZoneId.of('Z')); - ZonedDateTime updatedZdt = zdt.withYear(1976); - ``` - - - - -## Datetime Difference (Elapsed Time) [_datetime_difference_elapsed_time] - -Use either two numeric datetimes or two complex datetimes to calculate the difference (elapsed time) between two different datetimes. Use [subtraction](/reference/scripting-languages/painless/painless-operators-numeric.md#subtraction-operator) to calculate the difference between two numeric datetimes of the same time unit such as milliseconds. For complex datetimes there is often a method or another complex type ([object](/reference/scripting-languages/painless/painless-types.md#reference-types)) available to calculate the difference. Use [ChronoUnit](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared-java-time-temporal.html#painless-api-reference-shared-ChronoUnit) to calculate the difference between two complex datetimes if supported. - -### Datetime Difference Examples [_datetime_difference_examples] - -* Difference in milliseconds between two numeric datetimes - - ```painless - long startTimestamp = 434931327000L; - long endTimestamp = 434931330000L; - long differenceInMillis = endTimestamp - startTimestamp; - ``` - -* Difference in milliseconds between two complex datetimes - - ```painless - ZonedDateTime zdt1 = - ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 11000000, ZoneId.of('Z')); - ZonedDateTime zdt2 = - ZonedDateTime.of(1983, 10, 13, 22, 15, 35, 0, ZoneId.of('Z')); - long differenceInMillis = ChronoUnit.MILLIS.between(zdt1, zdt2); - ``` - -* Difference in days between two complex datetimes - - ```painless - ZonedDateTime zdt1 = - ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 11000000, ZoneId.of('Z')); - ZonedDateTime zdt2 = - ZonedDateTime.of(1983, 10, 17, 22, 15, 35, 0, ZoneId.of('Z')); - long differenceInDays = ChronoUnit.DAYS.between(zdt1, zdt2); - ``` - - - - -## Datetime Comparison [_datetime_comparison] - -Use either two numeric datetimes or two complex datetimes to do a datetime comparison. Use standard [comparison operators](/reference/scripting-languages/painless/painless-operators-boolean.md) to compare two numeric datetimes of the same time unit such as milliseconds. For complex datetimes there is often a method or another complex type ([object](/reference/scripting-languages/painless/painless-types.md#reference-types)) available to do the comparison. - -### Datetime Comparison Examples [_datetime_comparison_examples] - -* Greater than comparison of two numeric datetimes in milliseconds - - ```painless - long timestamp1 = 434931327000L; - long timestamp2 = 434931330000L; - - if (timestamp1 > timestamp2) { - // handle condition - } - ``` - -* Equality comparison of two complex datetimes - - ```painless - ZonedDateTime zdt1 = - ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 0, ZoneId.of('Z')); - ZonedDateTime zdt2 = - ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 0, ZoneId.of('Z')); - - if (zdt1.equals(zdt2)) { - // handle condition - } - ``` - -* Less than comparison of two complex datetimes - - ```painless - ZonedDateTime zdt1 = - ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 0, ZoneId.of('Z')); - ZonedDateTime zdt2 = - ZonedDateTime.of(1983, 10, 17, 22, 15, 35, 0, ZoneId.of('Z')); - - if (zdt1.isBefore(zdt2)) { - // handle condition - } - ``` - -* Greater than comparison of two complex datetimes - - ```painless - ZonedDateTime zdt1 = - ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 0, ZoneId.of('Z')); - ZonedDateTime zdt2 = - ZonedDateTime.of(1983, 10, 17, 22, 15, 35, 0, ZoneId.of('Z')); - - if (zdt1.isAfter(zdt2)) { - // handle condition - } - ``` - - - - -## Datetime Zone [_datetime_zone] - -Both string datetimes and complex datetimes have a timezone with a default of `UTC`. Numeric datetimes do not have enough explicit information to have a timezone, so `UTC` is always assumed. Use [methods](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared-java-time.html#painless-api-reference-shared-ZonedDateTime) (or fields) in conjunction with a [ZoneId](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared-java-time.html#painless-api-reference-shared-ZoneId) to change the timezone for a complex datetime. Parse a string datetime into a complex datetime to change the timezone, and then format the complex datetime back into a desired string datetime. Note many complex datetimes are immutable so upon modification a new complex datetime is created that requires [assignment](/reference/scripting-languages/painless/painless-variables.md#variable-assignment) or immediate use. - -### Datetime Zone Examples [_datetime_zone_examples] - -* Modify the timezone for a complex datetime - - ```painless - ZonedDateTime utc = - ZonedDateTime.of(1983, 10, 13, 22, 15, 30, 0, ZoneId.of('Z')); - ZonedDateTime pst = utc.withZoneSameInstant(ZoneId.of('America/Los_Angeles')); - ``` - -* Modify the timezone for a string datetime - - ```painless - String gmtString = 'Thu, 13 Oct 1983 22:15:30 GMT'; - ZonedDateTime gmtZdt = ZonedDateTime.parse(gmtString, - DateTimeFormatter.RFC_1123_DATE_TIME); <1> - ZonedDateTime pstZdt = - gmtZdt.withZoneSameInstant(ZoneId.of('America/Los_Angeles')); - String pstString = pstZdt.format(DateTimeFormatter.RFC_1123_DATE_TIME); - ``` - - 1. Note the use of a built-in DateTimeFormatter. - - - - -## Datetime Input [_datetime_input] - -There are several common ways datetimes are used as input for a script determined by the [Painless context](/reference/scripting-languages/painless/painless-contexts.md). Typically, datetime input will be accessed from parameters specified by the user, from an original source document, or from an indexed document. - -### Datetime Input From User Parameters [_datetime_input_from_user_parameters] - -Use the [params section](docs-content://explore-analyze/scripting/modules-scripting-using.md) during script specification to pass in a numeric datetime or string datetime as a script input. Access to user-defined parameters within a script is dependent on the Painless context, though, the parameters are most commonly accessible through an input called `params`. - -**Examples** - -* Parse a numeric datetime from user parameters to a complex datetime - - * Input: - - ```JSON - ... - "script": { - ... - "params": { - "input_datetime": 434931327000 - } - } - ... - ``` - - * Script: - - ```painless - long inputDateTime = params['input_datetime']; - Instant instant = Instant.ofEpochMilli(inputDateTime); - ZonedDateTime zdt = ZonedDateTime.ofInstant(instant, ZoneId.of('Z')); - ``` - -* Parse a string datetime from user parameters to a complex datetime - - * Input: - - ```JSON - ... - "script": { - ... - "params": { - "input_datetime": "custom y 1983 m 10 d 13 22:15:30 Z" - } - } - ... - ``` - - * Script: - - ```painless - String datetime = params['input_datetime']; - DateTimeFormatter dtf = DateTimeFormatter.ofPattern( - "'custom' 'y' yyyy 'm' MM 'd' dd HH:mm:ss VV"); - ZonedDateTime zdt = ZonedDateTime.parse(datetime, dtf); <1> - ``` - - 1. Note the use of a custom DateTimeFormatter. - - - -### Datetime Input From a Source Document [_datetime_input_from_a_source_document] - -Use an original [source](/reference/elasticsearch/mapping-reference/mapping-source-field.md) document as a script input to access a numeric datetime or string datetime for a specific field within that document. Access to an original source document within a script is dependent on the Painless context and is not always available. An original source document is most commonly accessible through an input called `ctx['_source']` or `params['_source']`. - -**Examples** - -* Parse a numeric datetime from a sourced document to a complex datetime - - * Input: - - ```JSON - { - ... - "input_datetime": 434931327000 - ... - } - ``` - - * Script: - - ```painless - long inputDateTime = ctx['_source']['input_datetime']; <1> - Instant instant = Instant.ofEpochMilli(inputDateTime); - ZonedDateTime zdt = ZonedDateTime.ofInstant(instant, ZoneId.of('Z')); - ``` - - 1. Note access to `_source` is dependent on the Painless context. - -* Parse a string datetime from a sourced document to a complex datetime - - * Input: - - ```JSON - { - ... - "input_datetime": "1983-10-13T22:15:30Z" - ... - } - ``` - - * Script: - - ```painless - String datetime = params['_source']['input_datetime']; <1> - ZonedDateTime zdt = ZonedDateTime.parse(datetime); <2> - ``` - - 1. Note access to `_source` is dependent on the Painless context. - 2. Note the parse method uses ISO 8601 by default. - - - -### Datetime Input From an Indexed Document [_datetime_input_from_an_indexed_document] - -Use an indexed document as a script input to access a complex datetime for a specific field within that document where the field is mapped as a [standard date](/reference/elasticsearch/mapping-reference/date.md) or a [nanosecond date](/reference/elasticsearch/mapping-reference/date_nanos.md). Numeric datetime fields mapped as [numeric](/reference/elasticsearch/mapping-reference/number.md) and string datetime fields mapped as [keyword](/reference/elasticsearch/mapping-reference/keyword.md) are accessible through an indexed document as well. Access to an indexed document within a script is dependent on the Painless context and is not always available. An indexed document is most commonly accessible through an input called `doc`. - -**Examples** - -* Format a complex datetime from an indexed document to a string datetime - - * Assumptions: - - * The field `input_datetime` exists in all indexes as part of the query - * All indexed documents contain the field `input_datetime` - - * Mappings: - - ```JSON - { - "mappings": { - ... - "properties": { - ... - "input_datetime": { - "type": "date" - } - ... - } - ... - } - } - ``` - - * Script: - - ```painless - ZonedDateTime input = doc['input_datetime'].value; - String output = input.format(DateTimeFormatter.ISO_INSTANT); <1> - ``` - - 1. Note the use of a built-in DateTimeFormatter. - -* Find the difference between two complex datetimes from an indexed document - - * Assumptions: - - * The fields `start` and `end` may **not** exist in all indexes as part of the query - * The fields `start` and `end` may **not** have values in all indexed documents - - * Mappings: - - ```JSON - { - "mappings": { - ... - "properties": { - ... - "start": { - "type": "date" - }, - "end": { - "type": "date" - } - ... - } - ... - } - } - ``` - - * Script: - - ```painless - if (doc.containsKey('start') && doc.containsKey('end')) { <1> - - if (doc['start'].size() > 0 && doc['end'].size() > 0) { <2> - - ZonedDateTime start = doc['start'].value; - ZonedDateTime end = doc['end'].value; - long differenceInMillis = ChronoUnit.MILLIS.between(start, end); - - // handle difference in times - } else { - // handle fields without values - } - } else { - // handle index with missing fields - } - ``` - - 1. When a query’s results span multiple indexes, some indexes may not contain a specific field. Use the `containsKey` method call on the `doc` input to ensure a field exists as part of the index for the current document. - 2. Some fields within a document may have no values. Use the `size` method call on a field within the `doc` input to ensure that field has at least one value for the current document. - - - - -## Datetime Now [_datetime_now] - -Under most Painless contexts the current datetime, `now`, is not supported. There are two primary reasons for this. The first is that scripts are often run once per document, so each time the script is run a different `now` is returned. The second is that scripts are often run in a distributed fashion without a way to appropriately synchronize `now`. Instead, pass in a user-defined parameter with either a string datetime or numeric datetime for `now`. A numeric datetime is preferred as there is no need to parse it for comparison. - -### Datetime Now Examples [_datetime_now_examples] - -* Use a numeric datetime as `now` - - * Assumptions: - - * The field `input_datetime` exists in all indexes as part of the query - * All indexed documents contain the field `input_datetime` - - * Mappings: - - ```JSON - { - "mappings": { - ... - "properties": { - ... - "input_datetime": { - "type": "date" - } - ... - } - ... - } - } - ``` - % NOTCONSOLE - - * Input: - - ```JSON - ... - "script": { - ... - "params": { - "now": - } - } - ... - ``` - % NOTCONSOLE - - * Script: - - ```painless - long now = params['now']; - ZonedDateTime inputDateTime = doc['input_datetime']; - long millisDateTime = inputDateTime.toInstant().toEpochMilli(); - long elapsedTime = now - millisDateTime; - ``` - % NOTCONSOLE - -* Use a string datetime as `now` - - * Assumptions: - - * The field `input_datetime` exists in all indexes as part of the query - * All indexed documents contain the field `input_datetime` - - * Mappings: - - ```JSON - { - "mappings": { - ... - "properties": { - ... - "input_datetime": { - "type": "date" - } - ... - } - ... - } - } - ``` - % NOTCONSOLE - - * Input: - - ```JSON - ... - "script": { - ... - "params": { - "now": "" - } - } - ... - ``` - % NOTCONSOLE - - * Script: - - ```painless - String nowString = params['now']; - ZonedDateTime nowZdt = ZonedDateTime.parse(nowString); <1> - long now = ZonedDateTime.toInstant().toEpochMilli(); - ZonedDateTime inputDateTime = doc['input_datetime']; - long millisDateTime = zdt.toInstant().toEpochMilli(); - long elapsedTime = now - millisDateTime; - ``` - % NOTCONSOLE - - 1. Note this parses the same string datetime every time the script runs. Use a numeric datetime to avoid a significant performance hit. - - - - -## Datetime Examples in Contexts [_datetime_examples_in_contexts] - -### Load the Example Data [_load_the_example_data] - -Run the following curl commands to load the data necessary for the context examples into an Elasticsearch cluster: - -1. Create [mappings](docs-content://manage-data/data-store/mapping.md) for the sample data. - - ```console - PUT /messages - { - "mappings": { - "properties": { - "priority": { - "type": "integer" - }, - "datetime": { - "type": "date" - }, - "message": { - "type": "text" - } - } - } - } - ``` - -2. Load the sample data. - - ```console - POST /_bulk - { "index" : { "_index" : "messages", "_id" : "1" } } - { "priority": 1, "datetime": "2019-07-17T12:13:14Z", "message": "m1" } - { "index" : { "_index" : "messages", "_id" : "2" } } - { "priority": 1, "datetime": "2019-07-24T01:14:59Z", "message": "m2" } - { "index" : { "_index" : "messages", "_id" : "3" } } - { "priority": 2, "datetime": "1983-10-14T00:36:42Z", "message": "m3" } - { "index" : { "_index" : "messages", "_id" : "4" } } - { "priority": 3, "datetime": "1983-10-10T02:15:15Z", "message": "m4" } - { "index" : { "_index" : "messages", "_id" : "5" } } - { "priority": 3, "datetime": "1983-10-10T17:18:19Z", "message": "m5" } - { "index" : { "_index" : "messages", "_id" : "6" } } - { "priority": 1, "datetime": "2019-08-03T17:19:31Z", "message": "m6" } - { "index" : { "_index" : "messages", "_id" : "7" } } - { "priority": 3, "datetime": "2019-08-04T17:20:00Z", "message": "m7" } - { "index" : { "_index" : "messages", "_id" : "8" } } - { "priority": 2, "datetime": "2019-08-04T18:01:01Z", "message": "m8" } - { "index" : { "_index" : "messages", "_id" : "9" } } - { "priority": 3, "datetime": "1983-10-10T19:00:45Z", "message": "m9" } - { "index" : { "_index" : "messages", "_id" : "10" } } - { "priority": 2, "datetime": "2019-07-23T23:39:54Z", "message": "m10" } - ``` - % TEST[continued] - - - -### Day-of-the-Week Bucket Aggregation Example [_day_of_the_week_bucket_aggregation_example] - -The following example uses a [terms aggregation](/reference/aggregations/search-aggregations-bucket-terms-aggregation.md#search-aggregations-bucket-terms-aggregation-script) as part of the [bucket script aggregation context](/reference/scripting-languages/painless/painless-bucket-script-agg-context.md) to display the number of messages from each day-of-the-week. - -```console -GET /messages/_search?pretty=true -{ - "aggs": { - "day-of-week-count": { - "terms": { - "script": "return doc[\"datetime\"].value.getDayOfWeekEnum();" - } - } - } -} -``` -% TEST[continued] - -### Morning/Evening Bucket Aggregation Example [_morningevening_bucket_aggregation_example] - -The following example uses a [terms aggregation](/reference/aggregations/search-aggregations-bucket-terms-aggregation.md#search-aggregations-bucket-terms-aggregation-script) as part of the [bucket script aggregation context](/reference/scripting-languages/painless/painless-bucket-script-agg-context.md) to display the number of messages received in the morning versus the evening. - -```console -GET /messages/_search?pretty=true -{ - "aggs": { - "am-pm-count": { - "terms": { - "script": "return doc[\"datetime\"].value.getHour() < 12 ? \"AM\" : \"PM\";" - } - } - } -} -``` -% TEST[continued] - -### Age of a Message Script Field Example [_age_of_a_message_script_field_example] - -The following example uses a [script field](/reference/elasticsearch/rest-apis/retrieve-selected-fields.md#script-fields) as part of the [field context](/reference/scripting-languages/painless/painless-field-context.md) to display the elapsed time between "now" and when a message was received. - -```console -GET /_search?pretty=true -{ - "query": { - "match_all": {} - }, - "script_fields": { - "message_age": { - "script": { - "source": "ZonedDateTime now = ZonedDateTime.ofInstant(Instant.ofEpochMilli(params[\"now\"]), ZoneId.of(\"Z\")); ZonedDateTime mdt = doc[\"datetime\"].value; String age; long years = mdt.until(now, ChronoUnit.YEARS); age = years + \"Y \"; mdt = mdt.plusYears(years); long months = mdt.until(now, ChronoUnit.MONTHS); age += months + \"M \"; mdt = mdt.plusMonths(months); long days = mdt.until(now, ChronoUnit.DAYS); age += days + \"D \"; mdt = mdt.plusDays(days); long hours = mdt.until(now, ChronoUnit.HOURS); age += hours + \"h \"; mdt = mdt.plusHours(hours); long minutes = mdt.until(now, ChronoUnit.MINUTES); age += minutes + \"m \"; mdt = mdt.plusMinutes(minutes); long seconds = mdt.until(now, ChronoUnit.SECONDS); age += hours + \"s\"; return age;", - "params": { - "now": 1574005645830 - } - } - } - } -} -``` -% TEST[continued] - -The following shows the script broken into multiple lines: - -```painless -ZonedDateTime now = ZonedDateTime.ofInstant( - Instant.ofEpochMilli(params['now']), ZoneId.of('Z')); <1> -ZonedDateTime mdt = doc['datetime'].value; <2> - -String age; - -long years = mdt.until(now, ChronoUnit.YEARS); <3> -age = years + 'Y '; <4> -mdt = mdt.plusYears(years); <5> - -long months = mdt.until(now, ChronoUnit.MONTHS); -age += months + 'M '; -mdt = mdt.plusMonths(months); - -long days = mdt.until(now, ChronoUnit.DAYS); -age += days + 'D '; -mdt = mdt.plusDays(days); - -long hours = mdt.until(now, ChronoUnit.HOURS); -age += hours + 'h '; -mdt = mdt.plusHours(hours); - -long minutes = mdt.until(now, ChronoUnit.MINUTES); -age += minutes + 'm '; -mdt = mdt.plusMinutes(minutes); - -long seconds = mdt.until(now, ChronoUnit.SECONDS); -age += hours + 's'; - -return age; <6> -``` - -1. Parse the datetime "now" as input from the user-defined params. -2. Store the datetime the message was received as a `ZonedDateTime`. -3. Find the difference in years between "now" and the datetime the message was received. -4. Add the difference in years later returned in the format `Y ...` for the age of a message. -5. Add the years so only the remainder of the months, days, etc. remain as the difference between "now" and the datetime the message was received. Repeat this pattern until the desired granularity is reached (seconds in this example). -6. Return the age of the message in the format `Y M D h m s `. - - - - +## Datetime operations + +Refer to the following pages to learn about performing datetime operations in Painless. + +- [](/reference/scripting-languages/painless/painless-datetime-representation.md) +- [](/reference/scripting-languages/painless/painless-datetime-parsing-and-formatting.md) +- [](/reference/scripting-languages/painless/painless-datetime-conversion.md) +- [](/reference/scripting-languages/painless/painless-datetime-pieces.md) +- [](/reference/scripting-languages/painless/painless-datetime-modification.md) +- [](/reference/scripting-languages/painless/painless-datetime-difference.md) +- [](/reference/scripting-languages/painless/painless-datetime-comparison.md) +- [](/reference/scripting-languages/painless/painless-datetime-zone.md) +- [](/reference/scripting-languages/painless/painless-datetime-input.md) +- [](/reference/scripting-languages/painless/painless-datetime-now.md) +- [](/reference/scripting-languages/painless/painless-datetime-examples-in-contexts.md) diff --git a/docs/reference/scripting-languages/toc.yml b/docs/reference/scripting-languages/toc.yml index 3999900a6fb3a..3124d79148f8b 100644 --- a/docs/reference/scripting-languages/toc.yml +++ b/docs/reference/scripting-languages/toc.yml @@ -5,13 +5,24 @@ toc: - file: painless/brief-painless-walkthrough.md children: - file: painless/painless-walkthrough-access-doc-values.md - - file: painless/painless-walkthrough-missing-keys.md - - file: painless/painless-walkthrough-missing-values.md + - file: painless/painless-walkthrough-missing-keys-or-values.md - file: painless/painless-walkthrough-updating-fields.md - file: painless/painless-walkthrough-dates.md - file: painless/painless-walkthrough-regular-expressions.md - file: painless/use-painless-scripts-in-runtime-fields.md - file: painless/using-datetime-in-painless.md + children: + - file: painless/painless-datetime-representation.md + - file: painless/painless-datetime-parsing-and-formatting.md + - file: painless/painless-datetime-conversion.md + - file: painless/painless-datetime-pieces.md + - file: painless/painless-datetime-modification.md + - file: painless/painless-datetime-difference.md + - file: painless/painless-datetime-comparison.md + - file: painless/painless-datetime-zone.md + - file: painless/painless-datetime-input.md + - file: painless/painless-datetime-now.md + - file: painless/painless-datetime-examples-in-contexts.md - file: painless/how-painless-dispatches-function.md - file: painless/painless-debugging.md - file: painless/painless-api-examples.md From 40e3e0f3527c2a99038f5c057fac531174a89c46 Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Wed, 5 Nov 2025 18:25:25 -0500 Subject: [PATCH 04/20] add pages --- .../painless/painless-method-dispatching.png | Bin 0 -> 72483 bytes .../how-painless-dispatches-function.md | 45 ++- .../painless/painless-api-examples.md | 53 ++- .../painless/painless-debugging.md | 344 +++++++++++++++--- .../scripting-languages/painless/painless.md | 8 +- .../using-ingest-processors-in-painless.md | 21 +- 6 files changed, 410 insertions(+), 61 deletions(-) create mode 100644 docs/reference/images/painless/painless-method-dispatching.png diff --git a/docs/reference/images/painless/painless-method-dispatching.png b/docs/reference/images/painless/painless-method-dispatching.png new file mode 100644 index 0000000000000000000000000000000000000000..e3669524531895b00964cd83458efe1333d28f4d GIT binary patch literal 72483 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 z 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Ɓ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 KnJOvMu>TKr_5C#f literal 0 HcmV?d00001 diff --git a/docs/reference/scripting-languages/painless/how-painless-dispatches-function.md b/docs/reference/scripting-languages/painless/how-painless-dispatches-function.md index 236cc24c4ffb3..e190f1304c8ab 100644 --- a/docs/reference/scripting-languages/painless/how-painless-dispatches-function.md +++ b/docs/reference/scripting-languages/painless/how-painless-dispatches-function.md @@ -8,15 +8,48 @@ products: - id: painless --- -# How painless dispatches function [modules-scripting-painless-dispatch] +# Understanding method dispatching in Painless [modules-scripting-painless-dispatch] -Painless uses receiver, name, and [arity](https://en.wikipedia.org/wiki/Arity) for method dispatch. For example, `s.foo(a, b)` is resolved by first getting the class of `s` and then looking up the method `foo` with two parameters. This is different from Groovy which uses the [runtime types](https://en.wikipedia.org/wiki/Multiple_dispatch) of the parameters and Java which uses the compile time types of the parameters. +Painless uses a function dispatch mechanism based on the receiver, method name, and [arity](https://en.wikipedia.org/wiki/Arity) (number of parameters). This approach differs from Java, which dispatches based on compiled-time types, and Groovy, which uses [runtime types](https://en.wikipedia.org/wiki/Multiple_dispatch). Understanding this mechanism is fundamental when migrating scripts or interacting with Java standard library APIs from Painless, as it helps you avoid common errors and write more efficient, secure scripts. -The consequence of this that Painless doesn’t support overloaded methods like Java, leading to some trouble when it allows classes from the Java standard library. For example, in Java and Groovy, `Matcher` has two methods: `group(int)` and `group(String)`. Painless can’t allow both of these methods because they have the same name and the same number of parameters. So instead it has `group(int)` and `namedGroup(String)`. +## Key terms + +Before diving into the dispatch process, here a brief definition of the main concepts: + +* **Receiver:** The object or class on which the method is called. For example, in `s.foo(a, b)` the variable `s` is the receiver +* **Name:** The name of the method being invoked, such as `foo` in `s.foo(a, b)` +* **Arity:** The number of parameters the method accepts. In `s.foo(a, b)` the arity is 2 +* **Dispatch:** The process of determining which method implementation to execute based on the receiver, name, and arity + +:::{image} ../../images/painless/painless-method-dispatching.png +:alt: Flowchart showing five steps: s.foo, receiver, name, arity, and execute method +:width: 250px +::: + +## Why method dispatch matters + +This fundamental difference affects how you work with Java APIs in your scripts. When translating Java code to Painless, methods you expect from the standard library might have different names or behave differently. Understanding method dispatch helps you avoid common errors and write more efficient scripts, particularly when working with `def` types that benefit from this optimized resolution mechanism. + +## Impact on Java standard library usage + +The consequence of the different approach used by Painless is that Painless doesn’t support overload methods like Java, leading to some trouble when it allows classes from the Java standard library. For example, in Java and Groovy, `Matcher` has two methods: + +* `group(int)` +* `group(string)` + +Painless can’t allow both of these methods because they have the same name and the same number of parameters. Instead, it has `group(int)` and `namedGroup(String)`. If you try to call a method that is not exposed in Painless, you will get a compilation error. + +This renaming pattern occurs throughout the Painless API when adapting Java standard library classes. Any methods that would conflict due to identical names and parameter counts receive distinct names in Painless to ensure unambiguous method resolution. + +## Justification for this approach We have a few justifications for this different way of dispatching methods: -1. It makes operating on `def` types simpler and, presumably, faster. Using receiver, name, and arity means that when Painless sees a call on a `def` object it can dispatch the appropriate method without having to do expensive comparisons of the types of the parameters. The same is true for invocations with `def` typed parameters. -2. It keeps things consistent. It would be genuinely weird for Painless to behave like Groovy if any `def` typed parameters were involved and Java otherwise. It’d be slow for it to behave like Groovy all the time. -3. It keeps Painless maintainable. Adding the Java or Groovy like method dispatch **feels** like it’d add a ton of complexity which’d make maintenance and other improvements much more difficult. +1. It makes operating on `def` types simpler and, presumably, faster. Using receiver, name and arity means that when Painless sees a call on a `def` object it can dispatch the appropriate method without having to do expensive comparisons of the types of the parameters. The same is true for invocation with `def` typed parameters. +2. It keeps things consistent. It would be genuinely weird for Painless to behave like Groovy if any `def` typed parameters were involved and Java otherwise. It’d be slow for Painless to behave like Groovy all the time. +3. It keeps Painless maintainable. Adding the Java or Groovy like method dispatch **feels** like it’d add a lot of complexity, which would make maintenance and other improvements much more difficult. + +## Next steps + +For more details, view the [Painless language specification](/reference/scripting-languages/painless/painless-language-specification.md) and the [Painless API examples](/reference/scripting-languages/painless/painless-api-examples.md). diff --git a/docs/reference/scripting-languages/painless/painless-api-examples.md b/docs/reference/scripting-languages/painless/painless-api-examples.md index 6115893b2e462..4e7d1d31ea011 100644 --- a/docs/reference/scripting-languages/painless/painless-api-examples.md +++ b/docs/reference/scripting-languages/painless/painless-api-examples.md @@ -8,15 +8,61 @@ products: - id: painless --- -# Painless API examples [painless-execute-api] +# Painless execute API [painless-execute-api] ::::{warning} This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. :::: - The Painless execute API runs a script and returns a result. +## Description + +Use this API to build and test scripts, such as when defining a script for a [runtime field](docs-content://manage-data/data-store/mapping/runtime-fields.md). This API requires very few dependencies and is especially useful if you don’t have the required permissions to write documents to a cluster. + +## How it works + +The Painless execute API runs scripts in an isolated execution environment and returns results for development and testing purposes. The request body must include a `script` object, and additional parameters may be required depending on the selected context. For example, providing a `context_setup` parameter allows you to add a document to execute the script against. + +The API executes the script within the {{es}} Painless engine and does not perform write operations or modify indexed documents. + +## Supported contexts + +The API supports the following contexts for script execution: + +### Test context (`test`) + +Test scripts without additional parameters or context settings. Only the `params` variable is available, and results are always converted to a string. This is the default context when no other is specified. + +### Filter context (`filter`) + +Test scripts that return boolean values, such as those used in script queries for field comparisons or value checks. Scripts run as if inside a `script` query and have access to `_source`, stored fields, and doc values of the provided document. + +### Score context (`score`) + +Validate custom scoring functions for `function_score` queries, such as ranking calculations based on field values. Scripts run as if inside a `script_score` function and can access document fields for scoring calculations. + +### Field contexts + +Test field context scripts using the `emit` function for runtime fields: + +* `boolean_field`: Return `true` or `false` values for boolean field types. +* `date_field`: Process and emit date values as long timestamps. +* `double_field`: Return sorted lists of double numeric values. +* `geo_point_field`: Emit latitude and longitude coordinates for geo-point fields. +* `ip_fields`: Process and return IP addresses from text data. +* `keyword_field`: Return sorted lists of string values. +* `long_field`: Return sorted lists of long numeric values. +* `composite_field`: Return maps of values for composite runtime fields. + +## When to use the Painless execute API + +Use the Painless execute API in the following scenarios: + +* To test script syntax and logic before deploying to production. +* When you do not have write permissions on a live cluster. +* To validate script behavior using specific test data. + ## {{api-request-title}} [painless-execute-api-request] `POST /_scripts/painless/_execute` @@ -859,6 +905,3 @@ The response includes the values that the script emitted: } } ``` - - - diff --git a/docs/reference/scripting-languages/painless/painless-debugging.md b/docs/reference/scripting-languages/painless/painless-debugging.md index 25b539c019c40..7493f8683321d 100644 --- a/docs/reference/scripting-languages/painless/painless-debugging.md +++ b/docs/reference/scripting-languages/painless/painless-debugging.md @@ -10,76 +10,332 @@ products: # Painless debugging [painless-debugging] -## Debug.Explain [_debug_explain] +## Why debugging in Painless is different -Painless doesn’t have a [REPL](https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop) and while it’d be nice for it to have one day, it wouldn’t tell you the whole story around debugging painless scripts embedded in Elasticsearch because the data that the scripts have access to or "context" is so important. For now the best way to debug embedded scripts is by throwing exceptions at choice places. While you can throw your own exceptions (`throw new Exception('whatever')`), Painless’s sandbox prevents you from accessing useful information like the type of an object. So Painless has a utility method, `Debug.explain` which throws the exception for you. For example, you can use [`_explain`](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-explain) to explore the context available to a [script query](/reference/query-languages/query-dsl/query-dsl-script-query.md). +Painless scripts run within specific {{es}} contexts, not as isolated code. Unlike languages with interactive environments, Painless doesn’t provide a [REPL](https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop) because script behavior depends entirely on the execution context and available data structures. -```console -PUT /hockey/_doc/1?refresh -{"first":"johnny","last":"gaudreau","goals":[9,27,1],"assists":[17,46,0],"gp":[26,82,1]} +The context determines available variables, API restrictions, and expected return types. A debugging approach that works in one context might not be directly applied to another because each context provides different capabilities and data access patterns. Refer to [Painless contexts](https://www.elastic.co/docs/reference/scripting-languages/painless/painless-contexts) to understand what variables and methods are available in each context. -POST /hockey/_explain/1 +## Context matters for debugging + +The secure, sandboxed approach used in Painless prevents access to standard Java debugging information. The sandbox restricts scripts from accessing information like object types, which has the effect of preventing traditional Java debugging methods. + +Scripts cannot access: + +* Object type information through standard Java methods (like [`get_Class()`](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) or [reflection](https://docs.oracle.com/javase/8/docs/technotes/guides/reflection/index.html)) +* Stack traces beyond Painless script boundaries +* Runtime class details for security-sensitive operations + +## Debug methods available + +Painless scripts do not provide interactive debugging tools or a REPL. The only official method for inspecting objects and their types during script execution is by means of the`Debug.explain(object)`. This method ***throws an informative exception*** that reveals the object's type and value. As a result, your script will not complete normally; instead, you will see an error message in the response. + +Custom exceptions (for example, `throw new RuntimeException(...)`) can be used to signal specific conditions or control execution flow but do not provide detailed object inspection. For comprehensive debugging, always use `Debug.explain()`. + +## Debugging walkthrough + +This section demonstrates a common debugging scenario using a script that formats the total price as "TOTAL: X" in uppercase. The example shows how to identify an error, debug it using `Debug.explain()`, and apply the fix. + +### Step 1: Run the failing script + +The following script attempts to create a formatted price string from the [ecommerce dataset](/reference/scripting-languages/painless/painless-context-examples.md). The script appears logical but will fail: + +```json +GET /kibana_sample_data_ecommerce/_search { + "size": 1, "query": { - "script": { - "script": "Debug.explain(doc.goals)" + "match_all": {} + }, + "script_fields": { + "formatted_total": { + "script": { + "source": """ + // This will fail - trying to call toUpperCase() on a number + return "TOTAL: " + doc['taxful_total_price'].toUpperCase(); + """ + } } } } ``` -% TEST[s/_explain\/1/_explain\/1?error_trace=false/ catch:/painless_explain_error/] -% The test system sends error_trace=true by default for easier debugging so -% we have to override it to get a normal shaped response -Which shows that the class of `doc.first` is `org.elasticsearch.index.fielddata.ScriptDocValues.Longs` by responding with: +### Step 2: Analyze the error -```console-result +The script fails with this error message: + +```json { - "error": { - "type": "script_exception", - "to_string": "[1, 9, 27]", - "painless_class": "org.elasticsearch.index.fielddata.ScriptDocValues.Longs", - "java_class": "org.elasticsearch.index.fielddata.ScriptDocValues$Longs", - ... - }, - "status": 400 + "took": 8, + "timed_out": false, + "_shards": { + "total": 3, + "successful": 2, + "skipped": 0, + "failed": 1, + "failures": [ + { + "shard": 0, + "index": "kibana_sample_data_ecommerce", + "node": "Rcc7GqOuTta0MV28FZXE_A", + "reason": { + "type": "script_exception", + "reason": "runtime error", + "script_stack": [ + """return "TOTAL: " + doc['taxful_total_price'].toUpperCase(); + """, + " ^---- HERE" + ], + "script": " ...", + "lang": "painless", + "position": { + "offset": 62, + "start": 14, + "end": 90 + }, + "caused_by": { + "type": "illegal_argument_exception", + "reason": "dynamic method [java.lang.Double, toUpperCase/0] not found" + } + } + } + ] + }, + "hits": { + "total": { + "value": 4675, + "relation": "eq" + }, + "max_score": 1, + "hits": [] + } } ``` -% TESTRESPONSE[s/\.\.\./"script_stack": $body.error.script_stack, "script": $body.error.script, "lang": $body.error.lang, "position": $body.error.position, "caused_by": $body.error.caused_by, "root_cause": $body.error.root_cause, "reason": $body.error.reason/] -You can use the same trick to see that `_source` is a `LinkedHashMap` in the `_update` API: +The error indicates that the script attempts to call `toUpperCase()` on a `Double` object, but this method does not exist for numeric types. While the error message provides information about the problem; use `Debug.explain()` to gain additional clarity about the data type. -```console -POST /hockey/_update/1 +### Step 3: Use Debug.explain() to understand the problem + +Use `Debug.explain()` to inspect the data type: + +```json +GET /kibana_sample_data_ecommerce/_search +{ + "size": 1, + "query": { + "match_all": {} + }, + "script_fields": { + "debug_price_type": { + "script": { + "source": """ + Debug.explain(doc['taxful_total_price']); + return "Check the error for debugging information."; + """ + } + } + } +} +``` + +The debugging output reveals the data structure: + +```json { - "script": "Debug.explain(ctx._source)" + "took": 9, + "timed_out": false, + "_shards": { + "total": 3, + "successful": 2, + "skipped": 0, + "failed": 1, + "failures": [ + { + "shard": 0, + "index": "kibana_sample_data_ecommerce", + "node": "Rcc7GqOuTta0MV28FZXE_A", + "reason": { + "type": "script_exception", + "reason": "runtime error", + "painless_class": "org.elasticsearch.index.fielddata.ScriptDocValues$Doubles", + "to_string": "[46.96875]", + "java_class": "org.elasticsearch.index.fielddata.ScriptDocValues$Doubles", + "script_stack": [ + """Debug.explain(doc['taxful_total_price']); + """, + " ^---- HERE" + ], + "script": " ...", + "lang": "painless", + "position": { + "offset": 46, + "start": 11, + "end": 62 + }, + "caused_by": { + "type": "painless_explain_error", + "reason": null + } + } + } + ] + }, + "hits": { + "total": { + "value": 4675, + "relation": "eq" + }, + "max_score": 1, + "hits": [] + } } ``` -% TEST[continued s/_update\/1/_update\/1?error_trace=false/ catch:/painless_explain_error/] -The response looks like: +The output shows that `doc['taxful_total_price']` is an `org.elasticsearch.index.fielddata.ScriptDocValues$Doubles` object with the value `[46.96875]`. This is an {{es}} class for handling numeric field values. +To access the actual double value, use `doc['taxful_total_price'].value`. + +Check the actual value: -```console-result +```json +GET /kibana_sample_data_ecommerce/_search { - "error" : { - "root_cause": ..., - "type": "illegal_argument_exception", - "reason": "failed to execute script", - "caused_by": { - "type": "script_exception", - "to_string": "{gp=[26, 82, 1], last=gaudreau, assists=[17, 46, 0], first=johnny, goals=[9, 27, 1]}", - "painless_class": "java.util.LinkedHashMap", - "java_class": "java.util.LinkedHashMap", - ... + "size": 1, + "query": { + "match_all": {} + }, + "script_fields": { + "debug_price_value": { + "script": { + "source": """ + Debug.explain(doc['taxful_total_price'].value); + return "Check the error for debugging information."; + """ + } } + } +} +``` + +This produces the following output: + +```json +{ + "took": 5, + "timed_out": false, + "_shards": { + "total": 3, + "successful": 2, + "skipped": 0, + "failed": 1, + "failures": [ + { + "shard": 0, + "index": "kibana_sample_data_ecommerce", + "node": "Rcc7GqOuTta0MV28FZXE_A", + "reason": { + "type": "script_exception", + "reason": "runtime error", + "painless_class": "java.lang.Double", + "to_string": "46.96875", + "java_class": "java.lang.Double", + "script_stack": [ + """Debug.explain(doc['taxful_total_price'].value); + """, + " ^---- HERE" + ], + "script": " ...", + "lang": "painless", + "position": { + "offset": 46, + "start": 11, + "end": 62 + }, + "caused_by": { + "type": "painless_explain_error", + "reason": null + } + } + } + ] + }, + "hits": { + "total": { + "value": 4675, + "relation": "eq" + }, + "max_score": 1, + "hits": [] + } +} +``` + +The output confirms that `doc['taxful_total_price'].value` is a `java.lang.Double` with the value of `46.96875`. + +This demonstrates the problem: the script attempts to call `toUpperCase()` on a number, which is not supported. + +### Step 4: Fix the script + +Apply the fix by converting the number to a string first: + +```json +GET /kibana_sample_data_ecommerce/_search +{ + "size": 1, + "query": { + "match_all": {} }, - "status": 400 + "script_fields": { + "formatted_total": { + "script": { + "source": """ + // Convert the price to String before applying toUpperCase() + return "TOTAL: " + String.valueOf(doc['taxful_total_price'].value).toUpperCase(); + """ + } + } + } } ``` -% TESTRESPONSE[s/"root_cause": \.\.\./"root_cause": $body.error.root_cause/] -% TESTRESPONSE[s/\.\.\./"script_stack": $body.error.caused_by.script_stack, "script": $body.error.caused_by.script, "lang": $body.error.caused_by.lang, "position": $body.error.caused_by.position, "caused_by": $body.error.caused_by.caused_by, "reason": $body.error.caused_by.reason/] -% TESTRESPONSE[s/"to_string": ".+"/"to_string": $body.error.caused_by.to_string/] -Once you have a class you can go to [*Painless API Reference*](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference.html) to see a list of available methods. +### Step 5: Verify the solution works + +The corrected script now executes successfully and returns the expected result: + +```json +{ + "took": 14, + "timed_out": false, + "_shards": { + "total": 3, + "successful": 3, + "skipped": 0, + "failed": 0 + }, + "hits": { + "total": { + "value": 4675, + "relation": "eq" + }, + "max_score": 1, + "hits": [ + { + "_index": "kibana_sample_data_ecommerce", + "_id": "z_vDyZgBvpJrRKrKcvig", + "_score": 1, + "fields": { + "formatted_total": [ + "TOTAL: 46.96875" + ] + } + } + ] + } +} +``` +## Notes +* **Data types in Painless**: Numeric fields in {{es}} are represented as Java numeric types (`Double`, `Integer`), not as `String`. +* **Field access in Painless**: When accessing a single-valued numeric field like `taxful_total_price`, use `.value` to get the actual numeric value. +* **Debug.explain() reveals object details**: Shows both the type of object (`java.lang.Double`) and its actual value (`46.96875`), which is useful for understanding how to work with it. +* **Type conversion**: Convert data types appropriately before applying type-specific methods. diff --git a/docs/reference/scripting-languages/painless/painless.md b/docs/reference/scripting-languages/painless/painless.md index a11b74bd025b9..25f5ce2317bda 100644 --- a/docs/reference/scripting-languages/painless/painless.md +++ b/docs/reference/scripting-languages/painless/painless.md @@ -37,11 +37,9 @@ Painless provides three core benefits: The reference documentation includes the following resources: -* [**Language specifications:**](/reference/scripting-languages/painless/painless-language-specification.md) syntax, operators, data types, and compilation semantics +* [**Language specification:**](/reference/scripting-languages/painless/painless-language-specification.md) syntax, operators, data types, and compilation semantics * [**Contexts:**](/reference/scripting-languages/painless/painless-contexts.md) Execution environments, available variables, and context-specific APIs -* **Advanced use cases:** Complex implementations, ingest processing, and API examples +* [**API examples:**](/reference/scripting-languages/painless/painless-api-examples.md) Examples of how to run the Painless execute API to build and test scripts. * **Debugging & Troubleshooting:** Debugging techniques, common errors, and solutions - \ No newline at end of file +For step-by-step tutorials and real-world examples, refer to [How to write Painless scripts](docs-content://explore-analyze/scripting/modules-scripting-using.md) and [Painless script tutorials](docs-content://explore-analyze/scripting/common-script-uses.md) in the Explore and Analyze section. diff --git a/docs/reference/scripting-languages/painless/using-ingest-processors-in-painless.md b/docs/reference/scripting-languages/painless/using-ingest-processors-in-painless.md index 50aa005c0fd08..735a2bd529b92 100644 --- a/docs/reference/scripting-languages/painless/using-ingest-processors-in-painless.md +++ b/docs/reference/scripting-languages/painless/using-ingest-processors-in-painless.md @@ -10,7 +10,26 @@ products: # Using ingest processors in Painless [painless-ingest] -Some [ingest processors](/reference/enrich-processor/index.md) expose behavior through Painless methods that can be called in Painless scripts that execute in ingest pipelines. +Painless scripts in [ingest pipelines](https://www.elastic.co/docs/manage-data/ingest/transform-enrich/ingest-pipelines) can access certain [ingest processor](https://www.elastic.co/docs/reference/scripting-languages/painless/painless-ingest-processor-context) functionality through the `Processors` namespace, enabling custom logic while leveraging {{es}} built-in transformations. Scripts execute within the `ctx` context to modify documents during ingestion. + +Only a subset of ingest processors expose methods in the `Processors` namespace for use in Painless scripts. The following ingest processors expose methods in Painless: + +* Bytes +* Lowercase +* Uppercase +* Json + + +## When to choose each approach + + +| Method | Use for | Pros | Cons | +| :---- | :---- | :---- | :---- | +| [script processor](/reference/enrich-processor/script-processor.md) (Painless) | * complex logic
* conditional operations
* multi-field validation | * full control
* custom business logic
* cross-field operations | * performance overhead
* complexity | +| [ingest processor](docs-content://manage-data/ingest/transform-enrich/ingest-pipelines.md) | * common transformations
* standard operations | * optimized performance
* built-in validation
* simple configuration | * limited logic
* single-field focus | +| [runtime fields](docs-content://manage-data/data-store/mapping/runtime-fields.md) | * query-time calculations
* schema flexibility | * no reindexing required * dynamic computation during queries | * query-time performance cost
* read-only operations
* not used in ingest pipeline. | + +**Performance considerations:** Script processors can impact pipeline performance. Prefer ingest processors for simple transformations. ## Method usage [_method_usage] From e9d7f4b47dc771beac508279e908541bbfae3862 Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Thu, 6 Nov 2025 10:21:35 -0500 Subject: [PATCH 05/20] fix image --- .../painless/how-painless-dispatches-function.md | 2 +- .../images}/painless-method-dispatching.png | Bin 2 files changed, 1 insertion(+), 1 deletion(-) rename docs/reference/{images/painless => scripting-languages/painless/images}/painless-method-dispatching.png (100%) diff --git a/docs/reference/scripting-languages/painless/how-painless-dispatches-function.md b/docs/reference/scripting-languages/painless/how-painless-dispatches-function.md index e190f1304c8ab..43dea9236ca44 100644 --- a/docs/reference/scripting-languages/painless/how-painless-dispatches-function.md +++ b/docs/reference/scripting-languages/painless/how-painless-dispatches-function.md @@ -21,7 +21,7 @@ Before diving into the dispatch process, here a brief definition of the main con * **Arity:** The number of parameters the method accepts. In `s.foo(a, b)` the arity is 2 * **Dispatch:** The process of determining which method implementation to execute based on the receiver, name, and arity -:::{image} ../../images/painless/painless-method-dispatching.png +:::{image} images/painless-method-dispatching.png :alt: Flowchart showing five steps: s.foo, receiver, name, arity, and execute method :width: 250px ::: diff --git a/docs/reference/images/painless/painless-method-dispatching.png b/docs/reference/scripting-languages/painless/images/painless-method-dispatching.png similarity index 100% rename from docs/reference/images/painless/painless-method-dispatching.png rename to docs/reference/scripting-languages/painless/images/painless-method-dispatching.png From 5ac1b57f54ca213c57c2456135f4921aa6672d14 Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Thu, 6 Nov 2025 14:23:25 -0500 Subject: [PATCH 06/20] some of the specs --- .../images/painless-compilation-process.png | Bin 0 -> 110908 bytes .../images/painless-integration-points.png | Bin 0 -> 454589 bytes .../painless/painless-comments.md | 74 ++++++++---- .../painless/painless-keywords.md | 50 ++++++-- .../painless-language-specification.md | 75 +++++++++++- .../painless/painless-literals.md | 111 ++++++++---------- 6 files changed, 212 insertions(+), 98 deletions(-) create mode 100644 docs/reference/scripting-languages/painless/images/painless-compilation-process.png create mode 100644 docs/reference/scripting-languages/painless/images/painless-integration-points.png diff --git a/docs/reference/scripting-languages/painless/images/painless-compilation-process.png b/docs/reference/scripting-languages/painless/images/painless-compilation-process.png new file mode 100644 index 0000000000000000000000000000000000000000..f7082e46af21d7d0d551f353633d29eb81a79a2f GIT binary patch literal 110908 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�!$SzLhTOFU)7mHlCBOw)K==;(=+;TRB3_jl)+^ z6L9h0JsCar^Y-MW`oVmo66?N+tk6ENR(u!fobtN~eBa};KL0?R-B{R1joNGLS{k=L z!^u+rVgD4PiEH*}k;b>`-c}n04gp;bvwxMm_PxQY+ry z6yI6yjxaCtt;I#+l=?*s4XYxz@qD{s!D!S~Lre?7!XKk`#rk>KJ-x+yVDGohXHmpb z${cFK`m!Dd!S0S6Ax#YMmO-+m4W8#lShMd;k#{har{pmiTo7_ zp4HTq#*DLcI@tp3s4rRUa8Ym@ZH(J@F30$tL1ChHF{rf~aQox&9G<5~rMl;OO(M7U zy0W>IRqXoij|SHj_iK#e(y8&(!0qeuDV=3MgLPN-e4PrqN_RiKke781)yeuysUBW0 zKl>#9eaUHg4!Fqp_|?pT5{G+eC9I0u(N1m-L?jx%q*`g$uQ>wqv-CUXp5$YXEn(MP zGQ!HX--au6R~2XF(pbFnF~Scsd$^{P?e@|9GiD2}<6JMH_QU4iuKGc^?Z~ON(7Q|h zDRalxFv@OmZly7Y+-1nT<~AQHH!N=@)=C>{ehqvaKU!{{;|JWF?P_<11*dOlbLTzQ zp&K_%-;N7bV5tpkq?L%#+^E6XGy`&E_EpjPAF(?AO<%@d&U#|>%i1#KeY1T(`S^FO zaCQ83`#^(<{&mX7V}wR{7X>yf=%(NLZx=(!rQ?%LQas67vrOLD1ADbE_kt*`Y20k? zw(R@mcI>2A^;&yBsQVZCa4XW8(2xG1&^~t`#(C8Dw#}bTqZ2zS_mZi;q-2fuJ8qt} zJbWVP^KWhO#xFXx_k7jpd}-?{Hd?wz%IH31o5n3?sV#8%W*vF`Nu+K08s(h2ea0u0 zrF1tma!rzHjoPXGf$;1Mky}ny1yhyyYa96w54NtHDfmBo7M?e5u`kh+1w7%O%2h%QqlwceTL$))r9;p;ba!7Rhm9&_^!V$Lg-Mq-xAe}Khx zeMHI&@zA$UzYK>WM{~|gcx~msPyJa{J@K9*W_e>*J`FC552%-CLc4wIW~M9q{oQ{< zl;Y}kuT8+^ar%!VSGLKlo2_%LHM2PfIb9L=XO}NihK(Hz>k*emg!e?du&+y2>7ToV z)_uIiZk$&n@YFx&9d)5hlE}OeaaTRDGQTZ}_8DZum)H8-s}*(7U!-p%Jy%vnG}V&Z z^b=amfVD#qA~X2r^yg;5d-rX`7fCE_&}HS>5_otDcH*$uLddJ4tXc zKYGKW2JCva`1eMlXeelxMr+HsjbS?yagwxm%CNWmMX1wMROl<$Zxcd{3X0P9#jThW z&F3DOt3e6v5dx9<02PomcgIkJ@)ccShyYff8MV9SUel zWyewahobGAgH>vm6nseE)I8rR5ta+`6IcU>UV`In! zw70u{C`WxlP{G*`ikvT)&=KGq-Ng4zI2xh-^|IhMVR87NyG`rygPi1pH4M2;jPlW< zcEjf~;3fKf3T5ZYJ-oXQs;i@(BU#RC3GqjJQ~vO!{i~X<1@xG=*YCO6sXmTIyu+K? zi1Z1Y+v}y{h2v8N+w2d~iro9Q_@9;~-+~g9f@19khf>@(^}i8}-2Ym}0WLGeTU9uUvc2A%9}49w0SbO)vbgx zLo!v^bAv^|B=t@u3gAO*qcAafsJ!e%*S3lY?UV4795-~igueXi@y7iurb%wE&d<)| zap@A6Y29wyWPe7S{;M{(+-U{5x~r)i?h3w{X0*_L2YhHzPoWmDd2ZLA3peP~K<8kr z-^Jl@c6NKM#jf?Vp8J)4FQW*?|A~8uIE%^*S36s{sB3A?)Vbo+#q~$OhvcA+7boD7 zD1e35SCSZ^e0&qtfm=BE+W}DPHCOapX!T|mDq$Z?}PQsVY2z&J1Hzs;5&aGm> zz${XA+r!D_kCG9n*Z_AfIene_pH}Qz#e&wwpYNTO}0*9 z-?sB#0^?c>3TY24yInX9Z%=>`=2+lLISuEO2*IOExkB`n(fsZGp9*B*O`|#1{j6(# zi)aDTt_HA$l#ydwH6)a+^(?9K(I zx#RS+GH2oPdfMYLIjjySY&l73W_X$+>E zd6@a)&#Y7QyS7|m3zhGS%+erj`lfR@NQ_y;Gi9v-l`rN(t_+o-2E0?4#_R;Xx}eLb4~zJqH9mtM@1(*l zDKvyVtoR>j99{-nj{8L}F7MCYiC7N$N7op+-7Z-lWTu|;^>i6z0q z_O~6U)*e8M3(xR&NAnf+`$li95&5z$p6$;+=Ml(3J+J@P@WFO?sP8!+;|-k&d8evS z^zs+>xf1$*41u(bmE9!T*qGaAVj0Q$9uBRP9tm1+c>;-e5k4&RB6F72H0L^CM~!IE zRT#Z*wim`=G)f+f-Y(@?j_Aq3iP7y<;x&}#c5nxC;Qm1DZXsHKD6$T{cESgTEAYPn zq(EE0#zXN8-zP!Q@jRHPQ>I8J2}$s9v#Sw2CMnk>;PecxA_9Efrgnnzgz_Ms%0!-I zj;S<)jSVdoS}D$^FvQZ|(%hb7)BiLYG6uk`j< zD>M3ssE6(cu?Pgn9CR3$ZIZTZoMTB4Qa?7F&l0GMT5!1pc-cP!BF6{F9Z5YWi1!rt zoKa@j&(e-*piuv5NwQGdN9CQsjQ?obLY=z>CUMPj+$mz9b2Wo_p>s=R9Qa-HA@KWn zdz%eYo>k)N<9bP80+3=U*QQ~PIZ7SAARJ=aDaY)BcQ{2K>hH+YN}R zjic=jOJ>y?Jp(XNQG&6Xe57`Xc6fPo$X3)hpP68Cr_X%FRV-b+-J(jW+zLRNv?}O% zj%S$_o;y~#Z^^}csgGv>%Ag5?Aqh;7OwVy;452@%O>O@Qby=Z*yFAG1Fg$lWpz7Qn zKj$9}OajD*a=%D8_JYL#wre7(;-hB@m0`ZK*`@%$X9T0uj|@Wf5Rjkz%TqP zF*en3)j567_cFP4gnqg}dQBjrU3IUYQ~Zzfw(gVas|FmuKTgyF`+gQ9@G!t{0lLMw zTkHo^t|<(*R2(nrIuJW?qVD7IQvI1CmOU&=4z^qb(NSDRPTpFxhCU6v(KjW196)$t zv{@2vBvA;{aA`OjnT;VgjN)oN#!G^%#9g}NPPC0<-(-ODxCmo~7Y5-rnuKxk94Flf zkn{xU7D%V=SOn}wOhk|+A;CoQa}wyBrrweO(lL{DzYpS?-7-KL>2rzmqM71dIbMJdFaeFTG_0XDylxZF3k zPG39-*AZfb3?PAem}8E!k89_sQxY-D<{V7}iOYO&obt@^Q}v}AY>C7*CB_&e46?bM7ZPY=~cLHuE0@ep7c!Puch=cZ*;EqWc z&jCC~scgi>$#+UeK%=RD0`*JM{etu215_LbdY>Sms_VF%%{N7F4#=(4qPc$Jk(YE$ z#PU;dSDXY!PEohb*iTYdrPZ~vc;|LwT;nXd6X*pXD4lg(WSdQXK zla=lR2nlu&v7m3cc)xdX&`w{J19hBz{Y$x)iQ{)D`6R@V2AAt4K_BYQj&f3xm*XZCvg+kKJ!53Q!Gm|%EW?+ zNtJzx>qbh|I_2?ND*Gh^iKp;W=S+EQ<)+7)0QkL?5e?+^Fe312g5N}(+{B)b^8nTJHCR^-g?2UGAX><~eX$swkbZ95Rj04I@ zAT%`r?IekD)d&Zuug%eRPA}Pfdyg%l3bvBEec(9joVszzT z+SoN7lokg@UA>lZXmy5D+~1t@c?^!O@v-LRA;?2VIV2LeoX+?%4+4w*W41hm28BK^ zjYWoM9<=VTBC0snq+XEpAyS?<}nePqPW-EX#jT)2a2XN%HO>{v;O z8w0HG>amNh9d@g&ojw=+P{y|6V`43Xu{puvF|@Ob2rnAn8e*Js1VDV6vCsv^X=7<4 zQ{?i^xMmcbiy-GYM1@wybSKzPn~ar`$tw|CRE@j3a`JvSGvoDMC_=(4ZCyVTeY$CX z77#I{w@X_Op?!~MtT>ByTjOp%@|tAKR*?G6f;@W;_*-L_8pC}F==_4?oK~DEos2NNcA1>Y!znTbp!!m7|M&2GEJ;Xns_$1nQGa{_)g-?znqTI={?O z#=$D37wd1DDpwxq_9{~x+OV{0jRWXd(z~^(OxjehX56`3hTufdp5vrrGcF-5ToCjo zWG)C=$6%oy?jiniF`v{D*{?h`$V$=XvvK`aehs~>vOsJ!hjW_vD$XjGPjO*_yT(73 zsIX!;Nq*AfH=%5mQE`u_zKUlgb@1`Gz-?*rBkViIOMeSimy9EQJ%eMXP?i}qb|f#C zCX%}7nC#-pK1!UFe#YOVyL7R{Mf$n4bj1s~#Kn){VE8KkdDfWBW*u}3`{=uv3+KoC zM;Ynf$GtWHet*o+(P7y5%6z+<6VThQ?@;7*rLWb31pG$g?g5xA zn0#fR+m`$32=@SH152xw3zMAmXBD%53i0zf_(yk!P@r-TfC{Cvl@Y{_rW>Sd1EL;s zKy?rg7aoB7u>2|)Pq~l>0jw&<4!EZCzQ}oBynoZyCkGLY#u0c}QVGaBl;efwlmNiQ z@*bm}f>C);Sng|gua$u|TjN|f$8Uk(JCC~kmj*rrep6q++c=^Qz

wKs?u-Czj)I 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ⓈcL;i2wYqr~f(dj_d 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

p8Fyj7tT{*}xs%r8>SaYY_Lj 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 Fbt*@0_IbdOLXq`hqCS6Fv~XFIfeuE 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 literal 0 HcmV?d00001 diff --git a/docs/reference/scripting-languages/painless/painless-comments.md b/docs/reference/scripting-languages/painless/painless-comments.md index 78ff80e5e54f4..9909e9178fdcd 100644 --- a/docs/reference/scripting-languages/painless/painless-comments.md +++ b/docs/reference/scripting-languages/painless/painless-comments.md @@ -10,46 +10,68 @@ products: # Comments [painless-comments] -Use a comment to annotate or explain code within a script. Use the `//` token anywhere on a line to specify a single-line comment. All characters from the `//` token to the end of the line are ignored. Use an opening `/*` token and a closing `*/` token to specify a multi-line comment. Multi-line comments can start anywhere on a line, and all characters in between the `/*` token and `*/` token are ignored. A comment is included anywhere within a script. +Comments are used to explain or annotate code and make it more readable. They are ignored when the script is executed, allowing you to add notes or temporarily disable code sections without affecting the functionality. -**Grammar** +Painless supports two types of comments: single-line comments and multi-line comments. -```text +## Single-line comments + +Single-line comments start with `//` and continue to the end of the line. Everything after `//` on that line is ignored by the compiler. + +### Grammar + +``` SINGLE_LINE_COMMENT: '//' .*? [\n\r]; -MULTI_LINE_COMMENT: '/*' .*? '*/'; ``` -**Examples** +### Example -* Single-line comments. +``` +// This is a single-line comment +int value = 10; +int price = 100; // Comment at the end of a line +``` - ```painless - // single-line comment +## Multi-line comments - int value; // single-line comment - ``` +Multi-line comments start with `/*` and end with `*/`. Everything between these markers is ignored, even if it spans multiple lines. -* Multi-line comments. +### Grammar - ```painless - /* multi- - line - comment */ +``` +MULTI_LINE_COMMENT: '/*' .*? '*/'; +``` - int value; /* multi- - line - comment */ value = 0; +### Example + +``` +/* This is a + multi-line comment + spanning several lines */ + +int total = price * quantity; - int value; /* multi-line - comment */ +/* You can also use multi-line comments + to temporarily disable code blocks: + +int debugValue = 0; +debugValue = calculateDebug(); +*/ + +int result = /* inline comment */ calculateTotal(); + +``` - /* multi-line - comment */ int value; +## Best practices - int value; /* multi-line - comment */ value = 0; +Use comments to: - int value; /* multi-line comment */ value = 0; - ``` +* Explain complex logic or business rules +* Document function parameters and return values +* Provide context data transformations +* Temporarily disable code during development +:::{tip} +Good comments explain _why_ something is done, not just _what_ is being done. The code itself should be clear enough to show what it does. +::: diff --git a/docs/reference/scripting-languages/painless/painless-keywords.md b/docs/reference/scripting-languages/painless/painless-keywords.md index b5e5173e48353..69e2cd107ede2 100644 --- a/docs/reference/scripting-languages/painless/painless-keywords.md +++ b/docs/reference/scripting-languages/painless/painless-keywords.md @@ -1,4 +1,5 @@ --- +navigation_title: Keywords mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-keywords.html applies_to: @@ -8,19 +9,54 @@ products: - id: painless --- -# Keywords [painless-keywords] +# Keywords (reserved terms) [painless-keywords] -Keywords are reserved tokens for built-in language features. +Keywords are reserved tokens for built-in language features in Painless. These special words have predefined meanings and cannot be used as [identifiers](/reference/scripting-languages/painless/painless-identifiers.md), such as variable names, function names, or field names. -**Errors** +:::{important} +In Painless documentation, "keywords" refers to reserved words in the scripting language itself. They are different from the {{es}} [`keyword`](/reference/elasticsearch/mapping-reference/keyword#keyword-field-type.md) field type, which is used for exact-value searches and aggregations in your data mappings. +::: -* If a keyword is used as an [identifier](/reference/scripting-languages/painless/painless-identifiers.md). +When you write Painless scripts, keywords provide the fundamental building blocks for creating logic, defining data types, and controlling program flow. Since these words have special significance to the Painless compiler, attempting to use them for other purposes will result in compilation errors. -**Keywords** +### List of keywords: -| | | | | | -| --- | --- | --- | --- | --- | | if | else | while | do | for | +| :---- | :---- | :---- | :---- | :---- | | in | continue | break | return | new | | try | catch | throw | this | instanceof | +## Understanding keyword restrictions + +Examples of restricted terms include `if`, which tells the compiler to create a conditional statement, and `int`, which declares an integer variable type. + +### Examples of valid keyword usage: + +``` +// Keywords used correctly for their intended purpose +int count = 0; // `int' declares integer type +boolean isActive = true; // 'boolean' declares boolean type, 'true' is literal +if (count > 0) { // 'if' creates conditional logic + return count; // 'return' exits with value +} + +``` + +### Errors + +If a keyword is used as an identifier. Painless will generate a compilation error: + +``` +// These will cause compilation errors +int if = 10; // Cannot use 'if' as variable name +String return = "value"; // Cannot use 'return' as variable name +boolean int = false; // Cannot use 'int' as variable name + +// Use descriptive names instead +int count = 10; +String result = "value"; +boolean isEnabled = false; + +``` + +These restrictions ensure that your scripts remain readable and that the Painless compiler can correctly parse your code without ambiguity. diff --git a/docs/reference/scripting-languages/painless/painless-language-specification.md b/docs/reference/scripting-languages/painless/painless-language-specification.md index 7a5857c13d5c6..9d54fd8f56fa9 100644 --- a/docs/reference/scripting-languages/painless/painless-language-specification.md +++ b/docs/reference/scripting-languages/painless/painless-language-specification.md @@ -1,4 +1,5 @@ --- +navigation_title: Painless language specification mapped_pages: - https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-lang-spec.html applies_to: @@ -8,27 +9,95 @@ products: - id: painless --- -# Painless language specification [painless-lang-spec] +# Painless language specification (syntax) [painless-lang-spec] -Painless is a scripting language designed for security and performance. Painless syntax is similar to Java syntax along with some additional features such as dynamic typing, Map and List accessor shortcuts, and array initializers. As a direct comparison to Java, there are some important differences, especially related to the casting model. For more detailed conceptual information about the basic constructs that Painless and Java share, refer to the corresponding topics in the [Java Language Specification](https://docs.oracle.com/javase/specs/jls/se8/html/index.md). +Painless is a scripting language designed for security and performance in {{es}}. +Painless syntax closely resembles Java syntax while providing additional scripting-focused features: -Painless scripts are parsed and compiled using the [ANTLR4](https://www.antlr.org/) and [ASM](https://asm.ow2.org/) libraries. Scripts are compiled directly into Java Virtual Machine (JVM) byte code and executed against a standard JVM. This specification uses ANTLR4 grammar notation to describe the allowed syntax. However, the actual Painless grammar is more compact than what is shown here. +* Dynamic typing +* Map and list accessor shortcuts +* Array Initializers +* Object simplified object manipulation +Built on the Java Virtual Machine (JVM), Painless compiles directly into bytecode and runs in a controlled sandbox environment optimized for {{es}} scripting requirements. +For information about basic constructs that Painless and Java share, refer to corresponding topics in the [Java Language Specification](https://docs.oracle.com/javase/specs/jls/se8/html/index.md). However, understanding the differences in Painless is essential for effective script development. +## Compilation process +Painless scripts are parsed and compiled using the [ANTLR4](https://www.antlr.org/) and [ASM](https://asm.ow2.org/) libraries. Scripts are compiled directly into Java Virtual Machine (JVM) bytecode and executed against a standard JVM. +:::{image} images/painless-compilation-process.png +:alt: Painless compilation process +::: +### Step breakdown: +1. **Script input:** Painless code embedded in the JSON queries +2. **Compilation:** ANTLR4 and ASM libraries parse and compile the script into JVM bytecode +3. **Execution:** Bytecode runs on the standard Java Virtual Machine + +This documentation presents the Painless language syntax in an educational format, optimized for developer understanding. The underlying grammar, however, is implemented using more concise ANTLR4 rules for efficient parsing. +## Context-aware syntax +Painless syntax availability and behavior vary by execution context, ensuring scripts are safe within their intended environment. Each context directly affects script functionality since they provide a set of variables, API restrictions, and the expected data types a script will return. +This context-aware design allows Painless to optimize performance and security for each use case. For comprehensive information about available contexts and their specific capabilities, refer to [Painless contexts](/reference/scripting-languages/painless/painless-contexts.md). +### Each context defines: +* **Available variables:** Context-specific variables such as `doc`, `ctx`, `_source`, or specialized objects depending on the execution context +* **API allowlist:** Permitted classes, methods, and fields from Java and {{es}} APIs +* **Return type expectations:** Expected script output format and type constraints +Understanding context-syntax relationships is essential for effective Painless development. For detailed information about context-syntax patterns and practical examples, refer to [Painless syntax-context bridge](docs-content://explore-analyze/scripting/painess-syntax-context-bridge.md). +:::{image} images/painless-integration-points.png +:alt: Painless integration-points +::: +### Where to write Painless scripts: +* [**Dev tools console**](docs-content://explore-analyze/query-filter/tools/console.md)**:** Interactive script development and testing +* [**Ingest pipelines:**](docs-content://manage-data/ingest/transform-enrich/ingest-pipelines.md) Document processing during indexing +* [**Update API:**](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-update) Single and bulk document modifications +* [**Search queries:**](docs-content://solutions/search/querying-for-search.md) Custom scoring, filtering, and field generation +* [**Runtime fields:**](docs-content://manage-data/data-store/mapping/runtime-fields.md) Dynamic field computation at query time +* [**Watchers:**](docs-content://explore-analyze/alerts-cases/watcher.md) Alert conditions and notification actions +* [**Reindex API:**](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-reindex) Data transformation during index migration +* [**Aggregations:**](docs-content://explore-analyze/query-filter/aggregations.md) Custom calculations and bucket processing +Each integration point corresponds to a specific Painless context with distinct capabilities and variable access patterns. +## Technical differences from Java + +Painless has implemented key differences from Java in order to optimize security and scripting performance: + +* **Dynamic typing with `def`:** Runtime type determination for flexible variable handling +* **Enhanced collection access:** Direct syntax shortcuts for Maps (`map.key`) and Lists (`list[index]`) +* **Stricter casting model:** Explicit type conversions prevent runtime errors +* **Reference vs content equality:** `==` calls `.equals()`method, `===` for reference comparison +* **Security restrictions:** No reflection APIs, controlled class access through allowlists +* **Automatic safety controls:** Loop iteration limits and recursion prevention + +These differences ensure safe execution while maintaining familiar Java-like syntax for developers. + +## JavaScript in Painless + +Painless integrates with Lucene’s expression language, enabling JavaScript syntax for high-performance mathematical operations and custom functions within {{es}}. + +### Key capabilities: + +* **Performance optimization:** Compiles directly to bytecode for native execution speed +* **Mathematical functions:** Access to specialized mathematical functions for scoring calculations +* **Field access:** Streamlined `doc\['field'].value` syntax for document field operations + +### Limitations: + +* Restricted to mathematical expressions and field access operations +* No complex control flow or custom function definitions +* Limited to numeric and boolean data types + +JavaScript expressions through Lucene provide a specialized, high-performance option designed specifically for custom ranking and sorting functions. For comprehensive information about Javascript expression capabilities, syntax examples, and usage patterns, refer to [Lucene Expressions Language](docs-content://explore-analyze/scripting/modules-scripting-expression.md). diff --git a/docs/reference/scripting-languages/painless/painless-literals.md b/docs/reference/scripting-languages/painless/painless-literals.md index 204655a46e674..ce300a3530050 100644 --- a/docs/reference/scripting-languages/painless/painless-literals.md +++ b/docs/reference/scripting-languages/painless/painless-literals.md @@ -10,106 +10,93 @@ products: # Literals [painless-literals] -Use a literal to specify a value directly in an [operation](/reference/scripting-languages/painless/painless-operators.md). +Literals represent fixed values in your code that are directly written into your script. Unlike variables, literals have constant values that cannot be changed during script runtime. The three supported types of literals are: integers, floats, and strings. -## Integers [integer-literals] +## Integers -Use an integer literal to specify an integer type value in decimal, octal, or hex notation of a [primitive type](/reference/scripting-languages/painless/painless-types.md#primitive-types) `int`, `long`, `float`, or `double`. Use the following single letter designations to specify the primitive type: `l` or `L` for `long`, `f` or `F` for `float`, and `d` or `D` for `double`. If not specified, the type defaults to `int`. Use `0` as a prefix to specify an integer literal as octal, and use `0x` or `0X` as a prefix to specify an integer literal as hex. +Use an integer literal to specify an integer-type value in decimal, octal, or hex notation of a [primitive type](https://www.elastic.co/docs/reference/scripting-languages/painless/painless-types#primitive-types) `int`, `long`, `float`, or `double`. Use the following single-letter designations to specify the primitive type: `l` or `L` for `long`, `f` or `F` for `float`, and `d` or `D` for `double`. If not specified, the type defaults to `int`. Use `0` as a prefix to specify an integer literal as octal, and use `0x` or `0X` as a prefix to specify an integer literal as hex. -**Grammar** +### Grammar -```text +```java INTEGER: '-'? ( '0' | [1-9] [0-9]* ) [lLfFdD]?; OCTAL: '-'? '0' [0-7]+ [lL]?; HEX: '-'? '0' [xX] [0-9a-fA-F]+ [lL]?; ``` -**Examples** - -* Integer literals. - - ```painless - 0 <1> - 0D <2> - 1234L <3> - -90f <4> - -022 <5> - 0xF2A <6> - ``` - - 1. `int 0` - 2. `double 0.0` - 3. `long 1234` - 4. `float -90.0` - 5. `int -18` in octal - 6. `int 3882` in hex +### Examples +```java +int i = 0; <1> +double d = 0D; <2> +long l = 1234L; <3> +float f = -90f; <4> +int e = -022; <5> +int x = 0xF2A; <6> +``` +1. `int 0` +2. `double 0.0` +3. `long 1234` +4. `float -90.0` +5. `int -18 in octal` +6. `int 3882 in hex` ## Floats [float-literals] -Use a floating point literal to specify a floating point type value of a [primitive type](/reference/scripting-languages/painless/painless-types.md#primitive-types) `float` or `double`. Use the following single letter designations to specify the primitive type: `f` or `F` for `float` and `d` or `D` for `double`. If not specified, the type defaults to `double`. +Use a floating-point literal to specify a floating-point-type value of a [primitive type](https://www.elastic.co/docs/reference/scripting-languages/painless/painless-types#primitive-types) `float` or `double`. Use the following single-letter designations to specify the primitive type: `f` or `F` for `float` and `d` or `D` for `double`. If not specified, the type defaults to `double`. -**Grammar** +### Grammar -```text +```java DECIMAL: '-'? ( '0' | [1-9] [0-9]* ) (DOT [0-9]+)? EXPONENT? [fFdD]?; EXPONENT: ( [eE] [+\-]? [0-9]+ ); ``` -**Examples** - -* Floating point literals. - - ```painless - 0.0 <1> - 1E6 <2> - 0.977777 <3> - -126.34 <4> - 89.9F <5> - ``` - - 1. `double 0.0` - 2. `double 1000000.0` in exponent notation - 3. `double 0.977777` - 4. `double -126.34` - 5. `float 89.9` +### Examples +```java +double b = 0.0; <1> +double d = 1E6; <2> +double c = 0.977777; <3> +double n = -126.34; <4> +float f = 89.9F; <5> +``` +1. `double 0.0` +2. `double 1000000.0` in exponent notation +3. `double 0.977777` +4. `double -126.34` +5. `float 89.9` -## Strings [string-literals] -Use a string literal to specify a [`String` type](/reference/scripting-languages/painless/painless-types.md#string-type) value with either single-quotes or double-quotes. Use a `\"` token to include a double-quote as part of a double-quoted string literal. Use a `\'` token to include a single-quote as part of a single-quoted string literal. Use a `\\` token to include a backslash as part of any string literal. +Use a string literal to specify a [string type](/reference/scripting-languages/painless/painless-types.md#string-type) value with either single-quotes or double-quotes. Use a `"` token to include a double-quote as part of a double-quoted string literal. Use a `'` token to include a single-quote as part of a single-quoted string literal. Use a `\\` token to include a backslash as part of any string literal. -**Grammar** +### Grammar -```text +```java STRING: ( '"' ( '\\"' | '\\\\' | ~[\\"] )*? '"' ) | ( '\'' ( '\\\'' | '\\\\' | ~[\\'] )*? '\'' ); ``` -**Examples** +### Examples * String literals using single-quotes. - ```painless - 'single-quoted string literal' - '\'single-quoted with escaped single-quotes\' and backslash \\' - 'single-quoted with non-escaped "double-quotes"' + ```java + String a = 'single-quoted string literal'; + String b = '\'single-quoted with escaped single-quotes\' and backslash \\'; + String c = 'single-quoted with non-escaped "double-quotes"'; ``` * String literals using double-quotes. - ```painless - "double-quoted string literal" - "\"double-quoted with escaped double-quotes\" and backslash: \\" - "double-quoted with non-escaped 'single-quotes'" + ```java + String a = "double-quoted string literal"; + String b = "\"double-quoted with escaped double-quotes\" and backslash: \\"; + String c = "double-quoted with non-escaped 'single-quotes'"; ``` - - ## Characters [character-literals] -Character literals are not specified directly. Instead, use the [cast operator](/reference/scripting-languages/painless/painless-casting.md#string-character-casting) to convert a `String` type value into a `char` type value. - - +Character literals are not specified directly in Painless. Instead, use the [cast operator](/reference/scripting-languages/painless/painless-casting.md#string-character-casting) to convert `string` type value into a `char` type value. From b505f3c2d88e8aac61761b39b9a04f5850e2d3f7 Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Thu, 6 Nov 2025 14:28:28 -0500 Subject: [PATCH 07/20] fix ref intro links --- docs/reference/scripting-languages/painless/painless.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/reference/scripting-languages/painless/painless.md b/docs/reference/scripting-languages/painless/painless.md index 25f5ce2317bda..cc0e510156ded 100644 --- a/docs/reference/scripting-languages/painless/painless.md +++ b/docs/reference/scripting-languages/painless/painless.md @@ -12,11 +12,9 @@ products: # Painless scripting language [painless-guide] - Painless is the default scripting language for {{es}}, designed for security, performance, and flexibility. Built on the [Java Virtual Machine (JVM)](https://docs.oracle.com/en/java/javase/24/vm/java-virtual-machine-technology-overview.html), Painless provides Java-like syntax with direct compilation, a sandbox environment with fine-grained allowlists, and context-aware scripting across the {{stack}}. From 0495d3e1dd67f89bdbca8bbc65ab874bc64abcdf Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Thu, 6 Nov 2025 15:03:02 -0500 Subject: [PATCH 08/20] fix links --- .../reference/scripting-languages/painless/painless-keywords.md | 2 +- .../reference/scripting-languages/painless/painless-literals.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/reference/scripting-languages/painless/painless-keywords.md b/docs/reference/scripting-languages/painless/painless-keywords.md index 69e2cd107ede2..262a118096af4 100644 --- a/docs/reference/scripting-languages/painless/painless-keywords.md +++ b/docs/reference/scripting-languages/painless/painless-keywords.md @@ -14,7 +14,7 @@ products: Keywords are reserved tokens for built-in language features in Painless. These special words have predefined meanings and cannot be used as [identifiers](/reference/scripting-languages/painless/painless-identifiers.md), such as variable names, function names, or field names. :::{important} -In Painless documentation, "keywords" refers to reserved words in the scripting language itself. They are different from the {{es}} [`keyword`](/reference/elasticsearch/mapping-reference/keyword#keyword-field-type.md) field type, which is used for exact-value searches and aggregations in your data mappings. +In Painless documentation, "keywords" refers to reserved words in the scripting language itself. They are different from the {{es}} [`keyword`](/reference/elasticsearch/mapping-reference/keyword.md#keyword-field-type) field type, which is used for exact-value searches and aggregations in your data mappings. ::: When you write Painless scripts, keywords provide the fundamental building blocks for creating logic, defining data types, and controlling program flow. Since these words have special significance to the Painless compiler, attempting to use them for other purposes will result in compilation errors. diff --git a/docs/reference/scripting-languages/painless/painless-literals.md b/docs/reference/scripting-languages/painless/painless-literals.md index ce300a3530050..eff12350cf08b 100644 --- a/docs/reference/scripting-languages/painless/painless-literals.md +++ b/docs/reference/scripting-languages/painless/painless-literals.md @@ -12,7 +12,7 @@ products: Literals represent fixed values in your code that are directly written into your script. Unlike variables, literals have constant values that cannot be changed during script runtime. The three supported types of literals are: integers, floats, and strings. -## Integers +## Integers [integer-literals] Use an integer literal to specify an integer-type value in decimal, octal, or hex notation of a [primitive type](https://www.elastic.co/docs/reference/scripting-languages/painless/painless-types#primitive-types) `int`, `long`, `float`, or `double`. Use the following single-letter designations to specify the primitive type: `l` or `L` for `long`, `f` or `F` for `float`, and `d` or `D` for `double`. If not specified, the type defaults to `int`. Use `0` as a prefix to specify an integer literal as octal, and use `0x` or `0X` as a prefix to specify an integer literal as hex. From 12f9bca155d5c7615ba36e398637e0fa3008cb86 Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Thu, 6 Nov 2025 15:19:38 -0500 Subject: [PATCH 09/20] link fix --- .../painless/painless-language-specification.md | 2 +- .../reference/scripting-languages/painless/painless-literals.md | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/reference/scripting-languages/painless/painless-language-specification.md b/docs/reference/scripting-languages/painless/painless-language-specification.md index 9d54fd8f56fa9..823e46459f998 100644 --- a/docs/reference/scripting-languages/painless/painless-language-specification.md +++ b/docs/reference/scripting-languages/painless/painless-language-specification.md @@ -52,7 +52,7 @@ This context-aware design allows Painless to optimize performance and security f * **API allowlist:** Permitted classes, methods, and fields from Java and {{es}} APIs * **Return type expectations:** Expected script output format and type constraints -Understanding context-syntax relationships is essential for effective Painless development. For detailed information about context-syntax patterns and practical examples, refer to [Painless syntax-context bridge](docs-content://explore-analyze/scripting/painess-syntax-context-bridge.md). +Understanding context-syntax relationships is essential for effective Painless development. For detailed information about context-syntax patterns and practical examples, refer to [Painless syntax-context bridge](docs-content://explore-analyze/scripting/painless-syntax-context-bridge.md). :::{image} images/painless-integration-points.png :alt: Painless integration-points diff --git a/docs/reference/scripting-languages/painless/painless-literals.md b/docs/reference/scripting-languages/painless/painless-literals.md index eff12350cf08b..ccdce89925d5e 100644 --- a/docs/reference/scripting-languages/painless/painless-literals.md +++ b/docs/reference/scripting-languages/painless/painless-literals.md @@ -69,6 +69,7 @@ float f = 89.9F; <5> 4. `double -126.34` 5. `float 89.9` +## Strings [string-literals] Use a string literal to specify a [string type](/reference/scripting-languages/painless/painless-types.md#string-type) value with either single-quotes or double-quotes. Use a `"` token to include a double-quote as part of a double-quoted string literal. Use a `'` token to include a single-quote as part of a single-quoted string literal. Use a `\\` token to include a backslash as part of any string literal. From e8f17ec02253a7122999a1c579335a60ca51c649 Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Thu, 6 Nov 2025 19:14:33 -0500 Subject: [PATCH 10/20] more specs --- .../images/painless-operator-categories.png | Bin 0 -> 840528 bytes .../painless/painless-casting.md | 3 +- .../painless/painless-identifiers.md | 63 +++++++++---- .../painless/painless-keywords.md | 2 +- .../painless/painless-literals.md | 62 +++++++------ .../painless/painless-operators.md | 83 +++++++++++++++++- .../painless/painless-types.md | 73 +++++++++++++-- .../painless/painless-variables.md | 47 ++++++---- 8 files changed, 265 insertions(+), 68 deletions(-) create mode 100644 docs/reference/scripting-languages/painless/images/painless-operator-categories.png diff --git a/docs/reference/scripting-languages/painless/images/painless-operator-categories.png b/docs/reference/scripting-languages/painless/images/painless-operator-categories.png new file mode 100644 index 0000000000000000000000000000000000000000..7ace75d6d225cd7fb10fc00ef3bb0bca5b05e641 GIT binary patch literal 840528 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�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

QiZ&3_hq>Q&ZfA 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�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 z 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⁢P%uAHbQvkWrlO)3Nl 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

%^srrEa{PAaVvzALx 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%0DH zi@j}o%A?+nt&p($RB}%6?HdmSrnHmL?xN8>en&ZPu@lASB_PF-c$unMnALJ&{1QSnYMcu7W8}dVJq$w5& zScD(prqYt*K8K9?L_@{TaPVQHc(|GQb%@2XS$1EEvp~lL1Hz_L?nogFZoLO^GTeM( z$5PBUbw68#UJRR-!CAL7g0z#>tgu1x(~~skHn)|h0E~AbCcp_fwB@rY=QDdXr6nwK z9a73d51_hC5etkQq$56Rv#cX}V0tLNjhQAhh=M)GV-_kD!z0UDDSmf_e1I1NxTaPg z{=8^y&{S1rqe|=O*r>nXxxas4j6hxtYIN(^;b$EzI?g)eVMuE?_2hgk=kn!^c|4UB z?zhvH_NxFtxS5)?%v}@X*p-RiQ-EEgjTD*9RO#yP^k25Z`#KBJuuMx_SoY9jipqJN z7r8aO)}=Qh&*9cUx=W@hK9*Sn5nMg{>O_qzU;tIB!4zaHDe zO`kR@6xQj{9K|SfSU;RJZO;J7-Zv8@&TV)+!m(*{y$uFwA8iE;vS!;} zn`EqE?7On^5pXD-xQc7l8$piWx27u?+U-%;KR8_gW=VH#gG9|PJ9RJfeD{KXzJ?Ws zV5|C7D@OnL=Q?^S`S3)pqjB&)jOIj74|=e0ghTl4W{nK0ZA(KYON3^hVYq~dZiWo# zS3H&T@?|tQR>u0_XmY!7{ux#7HfXEe%n+l-idsR^ynFdsqRZy+$lBZ_JxSyEb2}Bm zcl;QM8vF7LcEqJH(L;|jK^DwYa$>MzTrkaV+3M08*1699D`DKUx7a6r<;(~^rk=er zF4fjUgk<0X)?CCAb|bIdG|3Ol?|A19HPhm>7_n5vZT>@BJ!l1$din4E1_!FBO_7?E$y>F$z_d+U0GJMAI~h$m*`^n7)0lq9a7Z(1%Tdt;O}a)7wFM3x#JbPHDkd9 z6Y$Zt`Q8ozm1iG*18iT=C2YBa^0mc#?MbgydkWrVd%+FSllyd1bNzST+T|gCs*f|0 z1cm)l4nCa&l{wY+_BKBrLh%9+j03{xmq(8~YwxpobITMJ8!sB`0l;fOrUukW7r;*j z-v6BmsiAI-{WZW)j}5q2Y5nq*f)}a4pShFnZjkM)M#XLEUMC+tu4fGdZhfe7qp_am z0HSmBJj}cE8GB*@&|TN?m$hFU1$UmcJQfxFLsox!VFB=B;;CKP$k_*W!dWAA15gcR zvR}l!ik%JA!vvU_0f0f%%)tztdf?ttqWGsRh#OaP*Wf0*dhEw+>|UG&3y@jdi<|kr zNc-vBK^;WqrOP^hRT2#W-hY?FN1p#uPoV?+AGy=6`+h7-a5F%Ma!69*s?^{Ae_xUF z?fF#7z)QJvmLAykdUvsGQ z9o&89v!G-s^J{Mt9rgF0{Vg_si_NZV{E+9r#pZ`*`=1woYnxro_CK}p-(vGWrR9f1 z@n6IyOPZ{{XAk7{MfLMn|29~E8?67iv#6T+zlhNP55y+e>5$G~AgCOIFZ9fe6j)5^ zzWe58+*LVtkflDN%|t0uc+D7&?z_J*r^-k9+gm zCe5eT11I&F?s~q@iudOq(E-p-R0OjCwcf<4?(SZF6GM|5H1NOR0=t<}!qC`*~52|`su01X=H>-Ul z@t2DjJjd_+<->Du~?Cqs=R^u>m-Q5TKiFfdmJ|6yFz&Ry2P96Gds8p(}{Bq&OPrm$5D_edA zO!@B&%DazWe&)Azf-;MJPhKS8jA(T~&9=MkP<>|Fvh&+W&y0Tq(*u@)3`5R5OjM?< zC(0sxOLaa~{nMyF**ZUI_Ay#{_>GMol~&T#GfW;5_54Se+9|vb6I38-R>4BEwE+lU z+ny~Fir@N<{Ng80?icVswEOQ@gH^P&wBD4KYG^rP-Tz@Oj|o1cM2k@5Q!VD^=2{GY zi}~^jmIaDX}G%ZA&LFh+vTUv z4vrL%*p0&e_fLB@4+JxxMDikbCE=$J_tQ-UUXWkgXXU#_agiBrn + Z <2> + id <3> + list <4> + list0 <5> + MAP25 <6> + _map25 <7> + Map_25 <8> ``` + 1. int a = 10; + 2. String Z = "Z"; + 3. String id = "user_123"; + 4. boolean list = true; + 5. float list0 = 3.14f; + 6. long MAP25 = 123456789L; + 7. double _map25 = 99.99; + 8. byte Map_25 = 25; + +## Best practices + +Choose meaningful identifier names that clearly describe their purpose: +``` +// Good: descriptive and clear +String customerEmail = "user@example.com"; +int totalPrice = calculateTotal(); +boolean isProductAvailable = checkInventory(); + +// Avoid: unclear or too short +String s = "user@example.com"; +int x = calculateTotal(); +boolean b = checkInventory(); + +``` diff --git a/docs/reference/scripting-languages/painless/painless-keywords.md b/docs/reference/scripting-languages/painless/painless-keywords.md index 262a118096af4..49fbcadaf96d0 100644 --- a/docs/reference/scripting-languages/painless/painless-keywords.md +++ b/docs/reference/scripting-languages/painless/painless-keywords.md @@ -48,7 +48,7 @@ If a keyword is used as an identifier. Painless will generate a compilation erro ``` // These will cause compilation errors -int if = 10; // Cannot use 'if' as variable name +int if = 10; // Cannot use 'if' as variable name String return = "value"; // Cannot use 'return' as variable name boolean int = false; // Cannot use 'int' as variable name diff --git a/docs/reference/scripting-languages/painless/painless-literals.md b/docs/reference/scripting-languages/painless/painless-literals.md index ccdce89925d5e..7b1c10e1cc6df 100644 --- a/docs/reference/scripting-languages/painless/painless-literals.md +++ b/docs/reference/scripting-languages/painless/painless-literals.md @@ -26,21 +26,22 @@ HEX: '-'? '0' [xX] [0-9a-fA-F]+ [lL]?; ### Examples -```java -int i = 0; <1> -double d = 0D; <2> -long l = 1234L; <3> -float f = -90f; <4> -int e = -022; <5> -int x = 0xF2A; <6> -``` +* Integer literals -1. `int 0` -2. `double 0.0` -3. `long 1234` -4. `float -90.0` -5. `int -18 in octal` -6. `int 3882 in hex` + ```java + int i = 0; <1> + double d = 0D; <2> + long l = 1234L; <3> + float f = -90f; <4> + int e = -022; <5> + int x = 0xF2A; <6> + ``` + 1. `int 0` + 2. `double 0.0` + 3. `long 1234` + 4. `float -90.0` + 5. `int -18 in octal` + 6. `int 3882 in hex` ## Floats [float-literals] @@ -55,19 +56,21 @@ EXPONENT: ( [eE] [+\-]? [0-9]+ ); ### Examples -```java -double b = 0.0; <1> -double d = 1E6; <2> -double c = 0.977777; <3> -double n = -126.34; <4> -float f = 89.9F; <5> -``` +* Floating point literals -1. `double 0.0` -2. `double 1000000.0` in exponent notation -3. `double 0.977777` -4. `double -126.34` -5. `float 89.9` + ```java + double b = 0.0; <1> + double d = 1E6; <2> + double c = 0.977777; <3> + double n = -126.34; <4> + float f = 89.9F; <5> + ``` + + 1. `double 0.0` + 2. `double 1000000.0` in exponent notation + 3. `double 0.977777` + 4. `double -126.34` + 5. `float 89.9` ## Strings [string-literals] @@ -82,7 +85,7 @@ STRING: ( '"' ( '\\"' | '\\\\' | ~[\\"] )*? '"' ) ### Examples -* String literals using single-quotes. +* String literals using single-quotes ```java String a = 'single-quoted string literal'; @@ -90,7 +93,7 @@ STRING: ( '"' ( '\\"' | '\\\\' | ~[\\"] )*? '"' ) String c = 'single-quoted with non-escaped "double-quotes"'; ``` -* String literals using double-quotes. +* String literals using double-quotes ```java String a = "double-quoted string literal"; @@ -101,3 +104,6 @@ STRING: ( '"' ( '\\"' | '\\\\' | ~[\\"] )*? '"' ) ## Characters [character-literals] Character literals are not specified directly in Painless. Instead, use the [cast operator](/reference/scripting-languages/painless/painless-casting.md#string-character-casting) to convert `string` type value into a `char` type value. + +For detailed information about character types, casting, and usage, refer to [Character type usage](/reference/scripting-languages/painless/painless-types.md#character-type-usage). + diff --git a/docs/reference/scripting-languages/painless/painless-operators.md b/docs/reference/scripting-languages/painless/painless-operators.md index 867ce13bc39e5..caa718daf70ac 100644 --- a/docs/reference/scripting-languages/painless/painless-operators.md +++ b/docs/reference/scripting-languages/painless/painless-operators.md @@ -10,7 +10,88 @@ products: # Operators [painless-operators] -An operator is the most basic action that can be taken to evaluate values in a script. An expression is one-to-many consecutive operations. Precedence is the order in which an operator will be evaluated relative to another operator. Associativity is the direction within an expression in which a specific operator is evaluated. The following table lists all available operators: +Operators are the fundamental building blocks for data manipulation in Painless scripts. They enable calculations, comparisons, logical operations, and data access across all {{es}} scripting [contexts](/reference/scripting-languages/painless/painless-contexts.md). + +An **operator** performs a specific action to evaluate values in a script. An **expression** combines one or more operators to produce a result. **Precedence** determines evaluation order when multiple operators are present, while **associativity** controls evaluation direction for operators with equal precedence. + +Painless operators use Java-like syntax with {{es}} specific enhancements such as null-safe navigation and specialized data structure access. + +## Operator categories + +Painless organizes operators into five functional categories based on their purpose. + +:::{image} images/painless-operator-categories.png +:alt: Painless operator categories +::: + +### General operators + +Control the fundamental flow and structure of expressions in Painless scripts. These operators manage how expressions are evaluated, values are assigned, and conditional logic is run. + +* [Precedence](/reference/scripting-languages/painless/painless-operators-general.md#precedence-operator) `()`: Controls evaluation order by overriding default precedence rules +* [Function Call](/reference/scripting-languages/painless/painless-operators-general.md#function-call-operator) `()`: Executes user-defined functions with arguments +* [Cast](/reference/scripting-languages/painless/painless-operators-general.md#cast-operator) `()` : Forces explicit type conversion between compatible types +* [Conditional](/reference/scripting-languages/painless/painless-operators-general.md#conditional-operator) `? :` : Provides inline if-else logic for expressions +* [Elvis](/reference/scripting-languages/painless/painless-operators-reference.md#elvis-operator) `?:` : Returns first non-null value for null coalescing +* [Assignment](/reference/scripting-languages/painless/painless-operators-general.md#assignment-operator) `=` : Stores values in variables or fields +* [Compound Assignment](/reference/scripting-languages/painless/painless-operators-general.md#compound-assignment-operator) `$=` : Combines binary operations with assignment (`+=`, `-=`, and so on) + +### Numeric operators + +Perform mathematical calculations and bit-level manipulations on numeric values. These operators handle arithmetic, bitwise operations, and value modifications essential for numerical computations. + +* [Increment](/reference/scripting-languages/painless/painless-operators-numeric.md#post-increment-operator)/[Decrement](/reference/scripting-languages/painless/painless-operators-numeric.md#post-decrement-operator) (`++`. `--`) : Increases or decreases values by one (pre/post variants) +* [Unary](/reference/scripting-languages/painless/painless-operators-numeric.md#unary-positive-operator) (`+`, `-`) : preserves or negates numeric values +* [Bitwise Not](/reference/scripting-languages/painless/painless-operators-numeric.md#bitwise-not-operator) `~` : inverts all bits in integer values +* [Multiplication](/reference/scripting-languages/painless/painless-operators-numeric.md#multiplication-operator)/[Division](/reference/scripting-languages/painless/painless-operators-numeric.md#division-operator)/[Remainder](/reference/scripting-languages/painless/painless-operators-numeric.md#remainder-operator) `*` `/` `%` : Basic arithmetic operations +* [Addition](/reference/scripting-languages/painless/painless-operators-numeric.md#addition-operator)/[Subtraction](/reference/scripting-languages/painless/painless-operators-numeric.md#subtraction-operator) `+` `-` : Basic arithmetic operations +* [Shift](/reference/scripting-languages/painless/painless-operators-numeric.md#left-shift-operator) (`<<`, `>>`, `>>>`) : Shifts bits left or right within integer values +* [Bitwise And](/reference/scripting-languages/painless/painless-operators-numeric.md#bitwise-and-operator) `&` : Performs AND operations on corresponding bits +* [Bitwise Xor](/reference/scripting-languages/painless/painless-operators-numeric.md#bitwise-xor-operator) `^` : Performs XOR operations on corresponding bits +* [Bitwise Or](/reference/scripting-languages/painless/painless-operators-numeric.md#bitwise-or-operator) `|`: Performs OR operations on corresponding bits + +### Boolean operators + +Handle logical evaluation, comparisons, and conditional expressions. These operators are fundamental for creating filters, conditional logic, and boolean expressions in scripts + +* [Boolean Not](/reference/scripting-languages/painless/painless-operators-boolean.md#boolean-not-operator) `!`:Inverts boolean values (true becomes false) +* [Comparison](/reference/scripting-languages/painless/painless-operators-boolean.md#greater-than-operator) `>` `>=` `<` `<=` : Compares numeric values for ordering +* [Instanceof](/reference/scripting-languages/painless/painless-operators-boolean.md#instanceof-operator) `instanceof`: Checks if an object is an instance of a specific type +* [Equality](/reference/scripting-languages/painless/painless-operators-boolean.md#equality-equals-operator) `==` `!=` : Compares values for equality (calls equals() method) +* [Identity](/reference/scripting-languages/painless/painless-operators-boolean.md#identity-equals-operator) `===` `!==` : Compares object references for same instance +* [Boolean Xor](/reference/scripting-languages/painless/painless-operators-boolean.md#boolean-xor-operator) `^`: Returns true if exactly one operand is true +* [Boolean And](/reference/scripting-languages/painless/painless-operators-boolean.md#boolean-and-operator) `&&`: Returns true only if both operands are true +* [Boolean Or](/reference/scripting-languages/painless/painless-operators-boolean.md#boolean-or-operator) `||`: Returns true if at least one operand is true + +### Reference Operators + +Enable interaction with objects, method calls, and data structure manipulation. These operators are essential for working with documents, collections, and complex data types in {{es}} contexts. + +* [Method Call](/reference/scripting-languages/painless/painless-operators-reference.md#method-call-operator) `. ()`: Invokes methods on objects with optional arguments +* [Field Access](/reference/scripting-languages/painless/painless-operators-reference.md#field-access-operator) `.`: Accesses object properties and member fields +* [Null safe](/reference/scripting-languages/painless/painless-operators-reference.md#null-safe-operator) `?.`: Safely accesses fields/methods without null pointer exceptions +* [List/Map Initialization](/reference/scripting-languages/painless/painless-operators-reference.md#list-initialization-operator) `[] [:]`: Creates new List or Map collections with initial values +* [List/Map Access](/reference/scripting-languages/painless/painless-operators-reference.md#list-access-operator) `[]`: Retrieves or sets elements in collections by key/index +* [New Instance](/reference/scripting-languages/painless/painless-operators-reference.md#new-instance-operator) `new ()`: Creates new object instances with constructor arguments +* [String Concatenation](/reference/scripting-languages/painless/painless-operators-reference.md#string-concatenation-operator) `+` : Joins strings and converts other types to strings + +### Array Operators + +Provide specialized functionality for array creation, element access, and array property retrieval. These operators are essential when working with multi-value fields and array data structures. + +* [Array Initialization](/reference/scripting-languages/painless/painless-operators-array.md#array-initialization-operator) `[] {}`\`: Creates arrays with predefined values +* [Array Access](/reference/scripting-languages/painless/painless-operators-array.md#array-access-operator) `[]`: Retrieves or sets array elements by index position +* [Array Length](/reference/scripting-languages/painless/painless-operators-array.md#array-length-operator) `.`: Returns the number of elements in an array +* [New Array](/reference/scripting-languages/painless/painless-operators-array.md#new-array-operator) `new []`: Creates arrays with specified dimensions and sizes + +## Complete Operator Reference + + + + + + + | **Operator** | **Category** | **Symbol(s)** | **Precedence** | **Associativity** | | --- | --- | --- | --- | --- | diff --git a/docs/reference/scripting-languages/painless/painless-types.md b/docs/reference/scripting-languages/painless/painless-types.md index 41deac1461333..ca27e4d788e23 100644 --- a/docs/reference/scripting-languages/painless/painless-types.md +++ b/docs/reference/scripting-languages/painless/painless-types.md @@ -12,7 +12,7 @@ products: A type is a classification of data used to define the properties of a value. These properties specify what data a value represents and the rules for how a value is evaluated during an [operation](/reference/scripting-languages/painless/painless-operators.md). Each type belongs to one of the following categories: [primitive](#primitive-types), [reference](#reference-types), or [dynamic](#dynamic-types). -## Primitive Types [primitive-types] +## Primitive types [primitive-types] A primitive type represents basic data built natively into the JVM and is allocated to non-heap memory. Declare a primitive type [variable](/reference/scripting-languages/painless/painless-variables.md) or access a primitive type member field (from a reference type instance), and assign it a primitive type value for evaluation during later operations. The default value for a newly-declared primitive type variable is listed as part of the definitions below. A primitive type value is copied during an assignment or as an argument for a method/function call. @@ -76,7 +76,68 @@ The following primitive types are available. The corresponding reference type is -## Reference Types [reference-types] +## Character type usage [character-type-usage] + +The `char` type is a 16-bit, unsigned, Unicode character with a range of [`0`,`65535`] and a default value of `0` or `\u0000`. + +Character values cannot be declared without an explicit cast from a string. + +``` +// This will cause an error + char x = "a"; + +// Must always cast +char x = (char) "a"; +``` + +### String to character casting + +Use the cast operator to convert a [string-type](/reference/scripting-languages/painless/painless-types.md#string-type) value into a `char`\-type value. + +#### Errors + +* If the `String` type value isn’t one character in length. +* If the `String` type value is `null`. + +#### Examples + +* Casting string literals into `char` type values + + ``` + char c = (char)"C"; // declare char c; explicit cast String "C" to char C → char C; store char C to c + c = (char)'c'; // explicit cast String 'c' to char c → char c; store char c to c + ``` + +* Casting a `String` reference into a `char` type value + + ``` + String s = "s"; // declare String s; store String "s" to s + char c = (char)s; // declare char c; load from s → String "s"; explicit cast String "s" to char s → char s; store char s to c + ``` + +* Working with character positions in strings + + ``` + String word = "Hello"; + char first = (char) word.charAt(0); // 'H' + char third = (char) word.charAt(2); // 'l' + ``` + + +### Character to string casting + +Use the cast operator to convert a `char` type value into a [`String` type](/reference/scripting-languages/painless/painless-types.md#string-type) value. + +**Examples** + +* Casting a `char` to a `String` + + ``` + char c = 65; // declare char c; store char 65 to c + String s = (String)c; // declare String s; load from c → char A; explicit cast char A to String 'A' → String 'A'; store String 'A' to s + ``` + +## Reference types [reference-types] A reference type is a named construct (object), potentially representing multiple pieces of data (member fields) and logic to manipulate that data (member methods), defined as part of the application programming interface (API) for scripts. @@ -147,7 +208,7 @@ A reference type object follows a basic inheritance model. Consider types A and -## Dynamic Types [dynamic-types] +## Dynamic types [dynamic-types] A dynamic type value can represent the value of any primitive type or reference type using a single type name `def`. A `def` type value mimics the behavior of whatever value it represents at run-time and will always represent the child-most descendant type value of any type value when evaluated during operations. @@ -187,7 +248,7 @@ Using the `def` type can have a slight impact on performance. Use only primitive -## String Type [string-type] +## String type [string-type] The `String` type is a specialized reference type that does not require explicit allocation. Use a [string literal](/reference/scripting-languages/painless/painless-literals.md#string-literals) to directly evaluate a `String` type value. While not required, the [new instance operator](/reference/scripting-languages/painless/painless-operators-reference.md#new-instance-operator) can allocate `String` type instances. @@ -209,7 +270,7 @@ The `String` type is a specialized reference type that does not require explicit -## void Type [void-type] +## Void type [void-type] The `void` type represents the concept of a lack of type. Use the `void` type to indicate a function returns no value. @@ -225,7 +286,7 @@ The `void` type represents the concept of a lack of type. Use the `void` type to -## Array Type [array-type] +## Array type [array-type] An array type is a specialized reference type where an array type instance contains a series of values allocated to the heap. Each value in an array type instance is defined as an element. All elements in an array type instance are of the same type (element type) specified as part of declaration. Each element is assigned an index within the range `[0, length)` where length is the total number of elements allocated for an array type instance. diff --git a/docs/reference/scripting-languages/painless/painless-variables.md b/docs/reference/scripting-languages/painless/painless-variables.md index aa52e391ce78b..0ecdaea23faf5 100644 --- a/docs/reference/scripting-languages/painless/painless-variables.md +++ b/docs/reference/scripting-languages/painless/painless-variables.md @@ -10,27 +10,42 @@ products: # Variables [painless-variables] -A variable loads and stores a value for evaluation during [operations](/reference/scripting-languages/painless/painless-operators.md). +Variables are containers for storing data values in your Painless scripts. Variables hold different types of data like numbers, text, lists, and other values that you can access and manipulate throughout your script. + +In Painless, every variable must be declared with a specific type before you can use it. This type determines what kind of data the variable can hold and what operations you can perform on it. For example, you might use an `int` variable to store a document’s score, a `String` variable to store a field value, or a `List` variable to collect multiple results. + +## Variable Types in Painless + +Painless supports three main categories of variable types: + +* **Primitive types** for basic data such as `int`, `double`, `boolean`, and `char`. These store simple values directly and have default values (0 for numbers, false for boolean). +* **Reference types** for complex objects such as `String`, `list`, `map`, and array types like `int[]`. These store references to objects and default to `null` when not initialized. +* **Dynamic type** with `def` that can represent any type of value, determined at runtime. This provides flexibility when the exact type isn’t known in advance. + + +:::{tip} +Painless variable types are similar to Java types. For a complete reference of available types and their specifications, refer to the [Java variables documentation](https://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html). +::: ## Declaration [variable-declaration] -Declare a variable before use with the format of [type](/reference/scripting-languages/painless/painless-types.md) followed by [identifier](/reference/scripting-languages/painless/painless-identifiers.md). Declare an [array type](/reference/scripting-languages/painless/painless-types.md#array-type) variable using an opening `[` token and a closing `]` token for each dimension directly after the identifier. Specify a comma-separated list of identifiers following the type to declare multiple variables in a single statement. Use an [assignment operator](#variable-assignment) combined with a declaration to immediately assign a value to a variable. A variable not immediately assigned a value will have a default value assigned implicitly based on the type. +Before using a variable, you must declare it with the format [type](/reference/scripting-languages/painless/painless-types.md) followed by an [identifier](/reference/scripting-languages/painless/painless-identifiers.md). If the variable is an [array-type](/reference/scripting-languages/painless/painless-types.md#array-type), use an opening `[` token and a closing `]` token for each dimension directly after the identifier. Specify a comma-separated list of identifiers following the type to declare multiple variables in a single statement. Use an [assignment operator](#variable-assignment) combined with a declaration to immediately assign a value to a variable. A variable not immediately assigned a value will have a default value assigned implicitly based on the type. -**Errors** +### Errors -* If a variable is used prior to or without declaration. +An error occurs if a variable is used prior to or without declaration. -**Grammar** +### Grammar -```text +``` declaration : type ID assignment? (',' ID assignment?)*; type: ID ('.' ID)* ('[' ']')*; assignment: '=' expression; ``` -**Examples** +### Examples -* Different variations of variable declaration. +* Different variations of variable declaration ```painless int x; <1> @@ -41,10 +56,10 @@ assignment: '=' expression; float[] f; <6> Map[][] m; <7> ``` - + 1. declare `int x`; store default `null` to `x` 2. declare `List y`; store default `null` to `y` - 3. declare `int x`; store default `int 0` to `x`; declare `int y`; store `int 5` to `y`; declare `int z`; store default `int 0` to `z`; + 3. declare `int x`; store default `int 0` to `x`; declare `int y`; store `int 5` to `y`; declare `int z`; store default`int 0` to `z`; 4. declare `def d`; store default `null` to `d` 5. declare `int i`; store `int 10` to `i` 6. declare `float[] f`; store default `null` to `f` @@ -58,7 +73,7 @@ Use the `assignment operator '='` to store a value in a variable for use in subs **Errors** -* If the type of value is unable to match the type of variable. +An error if the type of value is unable to match the type of variable. **Grammar** @@ -68,7 +83,7 @@ assignment: ID '=' expression **Examples** -* Variable assignment with an integer literal. +* Variable assignment with an integer literal ```painless int i; <1> @@ -78,7 +93,7 @@ assignment: ID '=' expression 1. declare `int i`; store default `int 0` to `i` 2. store `int 10` to `i` -* Declaration combined with immediate assignment. +* Declaration combined with immediate assignment ```painless int i = 10; <1> @@ -88,7 +103,7 @@ assignment: ID '=' expression 1. declare `int i`; store `int 10` to `i` 2. declare `double j`; store `double 2.0` to `j` -* Assignment of one variable to another using primitive type values. +* Assignment of one variable to another using primitive type values ```painless int i = 10; <1> @@ -98,7 +113,7 @@ assignment: ID '=' expression 1. declare `int i`; store `int 10` to `i` 2. declare `int j`; load from `i` → `int 10`; store `int 10` to `j` -* Assignment with reference types using the [new instance operator](/reference/scripting-languages/painless/painless-operators-reference.md#new-instance-operator). +* Assignment with reference types using the [new instance operator](/reference/scripting-languages/painless/painless-operators-reference.md#new-instance-operator) ```painless ArrayList l = new ArrayList(); <1> @@ -108,7 +123,7 @@ assignment: ID '=' expression 1. declare `ArrayList l`; allocate `ArrayList` instance → `ArrayList reference`; store `ArrayList reference` to `l` 2. declare `Map m`; allocate `HashMap` instance → `HashMap reference`; implicit cast `HashMap reference` to `Map reference` → `Map reference`; store `Map reference` to `m` -* Assignment of one variable to another using reference type values. +* Assignment of one variable to another using reference type values ```painless List l = new ArrayList(); <1> From bd76dfc574b43ea45e2c35644a6ab261be649262 Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Fri, 7 Nov 2025 12:21:40 -0500 Subject: [PATCH 11/20] operators caps fixes --- .../painless/painless-keywords.md | 2 +- .../painless/painless-operators-array.md | 8 +- .../painless/painless-operators-boolean.md | 24 ++-- .../painless/painless-operators-general.md | 4 +- .../painless/painless-operators-numeric.md | 26 ++-- .../painless/painless-operators-reference.md | 18 +-- .../painless/painless-operators.md | 126 +++++++++--------- .../painless/painless-variables.md | 2 +- 8 files changed, 105 insertions(+), 105 deletions(-) diff --git a/docs/reference/scripting-languages/painless/painless-keywords.md b/docs/reference/scripting-languages/painless/painless-keywords.md index 49fbcadaf96d0..58bdaa2911bad 100644 --- a/docs/reference/scripting-languages/painless/painless-keywords.md +++ b/docs/reference/scripting-languages/painless/painless-keywords.md @@ -44,7 +44,7 @@ if (count > 0) { // 'if' creates conditional logic ### Errors -If a keyword is used as an identifier. Painless will generate a compilation error: +If a keyword is used as an identifier Painless generates a compilation error: ``` // These will cause compilation errors diff --git a/docs/reference/scripting-languages/painless/painless-operators-array.md b/docs/reference/scripting-languages/painless/painless-operators-array.md index ad829ed4222d5..7c196975aea34 100644 --- a/docs/reference/scripting-languages/painless/painless-operators-array.md +++ b/docs/reference/scripting-languages/painless/painless-operators-array.md @@ -10,7 +10,7 @@ products: # Operators: Array [painless-operators-array] -## Array Initialization [array-initialization-operator] +## Array initialization [array-initialization-operator] Use the `array initialization operator '[] {}'` to allocate a single-dimensional [array type](/reference/scripting-languages/painless/painless-types.md#array-type) instance to the heap with a set of pre-defined elements. Each value used to initialize an element in the array type instance is cast to the specified element type value upon insertion. The order of specified values is maintained. @@ -56,7 +56,7 @@ expression_list: expression (',' expression); -## Array Access [array-access-operator] +## Array access [array-access-operator] Use the `array access operator '[]'` to store a value to or load a value from an [array type](/reference/scripting-languages/painless/painless-types.md#array-type) value. Each element of an array type value is accessed with an `int` type value to specify the index to store/load. The range of elements within an array that are accessible is `[0, size)` where size is the number of elements specified at the time of allocation. Use a negative `int` type value as an index to access an element in reverse from the end of an array type value within a range of `[-size, -1]`. @@ -123,7 +123,7 @@ brace_access: '[' expression ']' -## Array Length [array-length-operator] +## Array length [array-length-operator] An array type value contains a read-only member field named `length`. The `length` field stores the size of the array as an `int` type value where size is the number of elements specified at the time of allocation. Use the [field access operator](/reference/scripting-languages/painless/painless-operators-reference.md#field-access-operator) to load the field `length` from an array type value. @@ -141,7 +141,7 @@ An array type value contains a read-only member field named `length`. The `lengt -## New Array [new-array-operator] +## New array [new-array-operator] Use the `new array operator 'new []'` to allocate an array type instance to the heap. Specify the element type following the `new` token. Specify each dimension with the `[` and `]` tokens following the element type name. The size of each dimension is specified by an `int` type value in between each set of `[` and `]` tokens. diff --git a/docs/reference/scripting-languages/painless/painless-operators-boolean.md b/docs/reference/scripting-languages/painless/painless-operators-boolean.md index da7a3215d6286..3bf20ad6e358d 100644 --- a/docs/reference/scripting-languages/painless/painless-operators-boolean.md +++ b/docs/reference/scripting-languages/painless/painless-operators-boolean.md @@ -10,7 +10,7 @@ products: # Operators: Boolean [painless-operators-boolean] -## Boolean Not [boolean-not-operator] +## Boolean not [boolean-not-operator] Use the `boolean not operator '!'` to NOT a `boolean` type value where `true` is flipped to `false` and `false` is flipped to `true`. @@ -55,7 +55,7 @@ boolean_not: '!' expression; -## Greater Than [greater-than-operator] +## Greater than [greater-than-operator] Use the `greater than operator '>'` to COMPARE two numeric type values where a resultant `boolean` type value is `true` if the left-hand side value is greater than to the right-hand side value and `false` otherwise. @@ -113,7 +113,7 @@ greater_than: expression '>' expression; -## Greater Than Or Equal [greater-than-or-equal-operator] +## Greater than or equal [greater-than-or-equal-operator] Use the `greater than or equal operator '>='` to COMPARE two numeric type values where a resultant `boolean` type value is `true` if the left-hand side value is greater than or equal to the right-hand side value and `false` otherwise. @@ -171,7 +171,7 @@ greater_than_or_equal: expression '>=' expression; -## Less Than [less-than-operator] +## Less than [less-than-operator] Use the `less than operator '<'` to COMPARE two numeric type values where a resultant `boolean` type value is `true` if the left-hand side value is less than to the right-hand side value and `false` otherwise. @@ -229,7 +229,7 @@ less_than: expression '<' expression; -## Less Than Or Equal [less-than-or-equal-operator] +## Less than or equal [less-than-or-equal-operator] Use the `less than or equal operator '<='` to COMPARE two numeric type values where a resultant `boolean` type value is `true` if the left-hand side value is less than or equal to the right-hand side value and `false` otherwise. @@ -329,7 +329,7 @@ instance_of: ID 'instanceof' TYPE; -## Equality Equals [equality-equals-operator] +## Equality equals [equality-equals-operator] Use the `equality equals operator '=='` to COMPARE two values where a resultant `boolean` type value is `true` if the two values are equal and `false` otherwise. The member method, `equals`, is implicitly called when the values are reference type values where the first value is the target of the call and the second value is the argument. This operation is null-safe where if both values are `null` the resultant `boolean` type value is `true`, and if only one value is `null` the resultant `boolean` type value is `false`. A valid comparison is between `boolean` type values, numeric type values, or reference type values. @@ -446,7 +446,7 @@ equality_equals: expression '==' expression; -## Equality Not Equals [equality-not-equals-operator] +## Equality not equals [equality-not-equals-operator] Use the `equality not equals operator '!='` to COMPARE two values where a resultant `boolean` type value is `true` if the two values are NOT equal and `false` otherwise. The member method, `equals`, is implicitly called when the values are reference type values where the first value is the target of the call and the second value is the argument with the resultant `boolean` type value flipped. This operation is `null-safe` where if both values are `null` the resultant `boolean` type value is `false`, and if only one value is `null` the resultant `boolean` type value is `true`. A valid comparison is between boolean type values, numeric type values, or reference type values. @@ -563,7 +563,7 @@ equality_not_equals: expression '!=' expression; -## Identity Equals [identity-equals-operator] +## Identity equals [identity-equals-operator] Use the `identity equals operator '==='` to COMPARE two values where a resultant `boolean` type value is `true` if the two values are equal and `false` otherwise. A reference type value is equal to another reference type value if both values refer to same instance on the heap or if both values are `null`. A valid comparison is between `boolean` type values, numeric type values, or reference type values. @@ -648,7 +648,7 @@ identity_equals: expression '===' expression; -## Identity Not Equals [identity-not-equals-operator] +## Identity not equals [identity-not-equals-operator] Use the `identity not equals operator '!=='` to COMPARE two values where a resultant `boolean` type value is `true` if the two values are NOT equal and `false` otherwise. A reference type value is not equal to another reference type value if both values refer to different instances on the heap or if one value is `null` and the other is not. A valid comparison is between `boolean` type values, numeric type values, or reference type values. @@ -733,7 +733,7 @@ identity_not_equals: expression '!==' expression; -## Boolean Xor [boolean-xor-operator] +## Boolean xor [boolean-xor-operator] Use the `boolean xor operator '^'` to XOR together two `boolean` type values where if one `boolean` type value is `true` and the other is `false` the resultant `boolean` type value is `true` and `false` otherwise. @@ -783,7 +783,7 @@ boolean_xor: expression '^' expression; -## Boolean And [boolean-and-operator] +## Boolean and [boolean-and-operator] Use the `boolean and operator '&&'` to AND together two `boolean` type values where if both `boolean` type values are `true` the resultant `boolean` type value is `true` and `false` otherwise. @@ -837,7 +837,7 @@ boolean_and: expression '&&' expression; -## Boolean Or [boolean-or-operator] +## Boolean or [boolean-or-operator] Use the `boolean or operator '||'` to OR together two `boolean` type values where if either one of the `boolean` type values is `true` the resultant `boolean` type value is `true` and `false` otherwise. diff --git a/docs/reference/scripting-languages/painless/painless-operators-general.md b/docs/reference/scripting-languages/painless/painless-operators-general.md index 0b8c0f0850f56..4dc460d5da90e 100644 --- a/docs/reference/scripting-languages/painless/painless-operators-general.md +++ b/docs/reference/scripting-languages/painless/painless-operators-general.md @@ -34,7 +34,7 @@ precedence: '(' expression ')'; -## Function Call [function-call-operator] +## Function call [function-call-operator] Use the `function call operator ()` to call an existing function. A [function call](/reference/scripting-languages/painless/painless-functions.md) is defined within a script. @@ -174,7 +174,7 @@ non-static member fields: -## Compound Assignment [compound-assignment-operator] +## Compound assignment [compound-assignment-operator] Use the `compound assignment operator '$='` as a shortcut for an assignment where a binary operation would occur between the variable/field as the left-hand side expression and a separate right-hand side expression. diff --git a/docs/reference/scripting-languages/painless/painless-operators-numeric.md b/docs/reference/scripting-languages/painless/painless-operators-numeric.md index e4abf5b3544d8..f01ee2fcc7037 100644 --- a/docs/reference/scripting-languages/painless/painless-operators-numeric.md +++ b/docs/reference/scripting-languages/painless/painless-operators-numeric.md @@ -10,7 +10,7 @@ products: # Operators: Numeric [painless-operators-numeric] -## Post Increment [post-increment-operator] +## Post increment [post-increment-operator] Use the `post increment operator '++'` to INCREASE the value of a numeric type variable/field by `1`. An extra implicit cast is necessary to return the promoted numeric type value to the original numeric type value of the variable/field for the following types: `byte`, `short`, and `char`. If a variable/field is read as part of an expression the value is loaded prior to the increment. @@ -67,7 +67,7 @@ post_increment: ( variable | field ) '++'; -## Post Decrement [post-decrement-operator] +## Post decrement [post-decrement-operator] Use the `post decrement operator '--'` to DECREASE the value of a numeric type variable/field by `1`. An extra implicit cast is necessary to return the promoted numeric type value to the original numeric type value of the variable/field for the following types: `byte`, `short`, and `char`. If a variable/field is read as part of an expression the value is loaded prior to the decrement. @@ -124,7 +124,7 @@ post_decrement: ( variable | field ) '--'; -## Pre Increment [pre-increment-operator] +## Pre increment [pre-increment-operator] Use the `pre increment operator '++'` to INCREASE the value of a numeric type variable/field by `1`. An extra implicit cast is necessary to return the promoted numeric type value to the original numeric type value of the variable/field for the following types: `byte`, `short`, and `char`. If a variable/field is read as part of an expression the value is loaded after the increment. @@ -181,7 +181,7 @@ pre_increment: '++' ( variable | field ); -## Pre Decrement [pre-decrement-operator] +## Pre decrement [pre-decrement-operator] Use the `pre decrement operator '--'` to DECREASE the value of a numeric type variable/field by `1`. An extra implicit cast is necessary to return the promoted numeric type value to the original numeric type value of the variable/field for the following types: `byte`, `short`, and `char`. If a variable/field is read as part of an expression the value is loaded after the decrement. @@ -238,7 +238,7 @@ pre_decrement: '--' ( variable | field ); -## Unary Positive [unary-positive-operator] +## Unary positive [unary-positive-operator] Use the `unary positive operator '+'` to the preserve the IDENTITY of a numeric type value. @@ -276,7 +276,7 @@ unary_positive: '+' expression; -## Unary Negative [unary-negative-operator] +## Unary negative [unary-negative-operator] Use the `unary negative operator '-'` to NEGATE a numeric type value. @@ -314,7 +314,7 @@ unary_negative: '-' expression; -## Bitwise Not [bitwise-not-operator] +## Bitwise not [bitwise-not-operator] Use the `bitwise not operator '~'` to NOT each bit in an integer type value where a `1-bit` is flipped to a resultant `0-bit` and a `0-bit` is flipped to a resultant `1-bit`. @@ -633,7 +633,7 @@ subtraction: expression '-' expression; -## Left Shift [left-shift-operator] +## Left shift [left-shift-operator] Use the `left shift operator '<<'` to SHIFT lower order bits to higher order bits in a left-hand side integer type value by the distance specified in a right-hand side integer type value. @@ -685,7 +685,7 @@ The left-hand side integer type value is promoted as specified in the table belo -## Right Shift [right-shift-operator] +## Right shift [right-shift-operator] Use the `right shift operator '>>'` to SHIFT higher order bits to lower order bits in a left-hand side integer type value by the distance specified in a right-hand side integer type value. The highest order bit of the left-hand side integer type value is preserved. @@ -737,7 +737,7 @@ The left-hand side integer type value is promoted as specified in the table belo -## Unsigned Right Shift [unsigned-right-shift-operator] +## Unsigned right shift [unsigned-right-shift-operator] Use the `unsigned right shift operator '>>>'` to SHIFT higher order bits to lower order bits in a left-hand side integer type value by the distance specified in a right-hand side type integer value. The highest order bit of the left-hand side integer type value is **not** preserved. @@ -789,7 +789,7 @@ The left-hand side integer type value is promoted as specified in the table belo -## Bitwise And [bitwise-and-operator] +## Bitwise and [bitwise-and-operator] Use the `bitwise and operator '&'` to AND together each bit within two integer type values where if both bits at the same index are `1` the resultant bit is `1` and `0` otherwise. @@ -847,7 +847,7 @@ bitwise_and: expression '&' expression; -## Bitwise Xor [bitwise-xor-operator] +## Bitwise xor [bitwise-xor-operator] Use the `bitwise xor operator '^'` to XOR together each bit within two integer type values where if one bit is a `1` and the other bit is a `0` at the same index the resultant bit is `1` otherwise the resultant bit is `0`. @@ -907,7 +907,7 @@ bitwise_xor: expression '^' expression; -## Bitwise Or [bitwise-or-operator] +## Bitwise or [bitwise-or-operator] Use the `bitwise or operator '|'` to OR together each bit within two integer type values where if at least one bit is a `1` at the same index the resultant bit is `1` otherwise the resultant bit is `0`. diff --git a/docs/reference/scripting-languages/painless/painless-operators-reference.md b/docs/reference/scripting-languages/painless/painless-operators-reference.md index b8cce40347eca..79386635a9c45 100644 --- a/docs/reference/scripting-languages/painless/painless-operators-reference.md +++ b/docs/reference/scripting-languages/painless/painless-operators-reference.md @@ -10,7 +10,7 @@ products: # Operators: Reference [painless-operators-reference] -## Method Call [method-call-operator] +## Method call [method-call-operator] Use the `method call operator '()'` to call a member method on a [reference type](/reference/scripting-languages/painless/painless-types.md#reference-types) value. Implicit [boxing/unboxing](/reference/scripting-languages/painless/painless-casting.md#boxing-unboxing) is evaluated as necessary per argument during the method call. When a method call is made on a target `def` type value, the parameters and return type value are considered to also be of the `def` type and are evaluated at run-time. @@ -52,7 +52,7 @@ arguments: '(' (expression (',' expression)*)? ')'; -## Field Access [field-access-operator] +## Field access [field-access-operator] Use the `field access operator '.'` to store a value to or load a value from a [reference type](/reference/scripting-languages/painless/painless-types.md#reference-types) member field. @@ -101,7 +101,7 @@ non-static member fields: -## Null Safe [null-safe-operator] +## Null safe [null-safe-operator] Use the `null safe operator '?.'` instead of the method call operator or field access operator to ensure a reference type value is `non-null` before a method call or field access. A `null` value will be returned if the reference type value is `null`, otherwise the method call or field access is evaluated. @@ -159,7 +159,7 @@ non-static member fields: -## List Initialization [list-initialization-operator] +## List initialization [list-initialization-operator] Use the `list initialization operator '[]'` to allocate an `List` type instance to the heap with a set of pre-defined values. Each value used to initialize the `List` type instance is cast to a `def` type value upon insertion into the `List` type instance using the `add` method. The order of the specified values is maintained. @@ -208,7 +208,7 @@ list_initialization: '[' expression (',' expression)* ']' -## List Access [list-access-operator] +## List access [list-access-operator] Use the `list access operator '[]'` as a shortcut for a `set` method call or `get` method call made on a `List` type value. @@ -275,7 +275,7 @@ list_access: '[' expression ']' -## Map Initialization [map-initialization-operator] +## Map initialization [map-initialization-operator] Use the `map initialization operator '[:]'` to allocate a `Map` type instance to the heap with a set of pre-defined values. Each pair of values used to initialize the `Map` type instance are cast to `def` type values upon insertion into the `Map` type instance using the `put` method. @@ -327,7 +327,7 @@ key_pair: expression ':' expression -## Map Access [map-access-operator] +## Map access [map-access-operator] Use the `map access operator '[]'` as a shortcut for a `put` method call or `get` method call made on a `Map` type value. @@ -381,7 +381,7 @@ map_access: '[' expression ']' -## New Instance [new-instance-operator] +## New instance [new-instance-operator] Use the `new instance operator 'new ()'` to allocate a [reference type](/reference/scripting-languages/painless/painless-types.md#reference-types) instance to the heap and call a specified constructor. Implicit [boxing/unboxing](/reference/scripting-languages/painless/painless-casting.md#boxing-unboxing) is evaluated as necessary per argument during the constructor call. @@ -415,7 +415,7 @@ def e = new HashMap(m); <3> -## String Concatenation [string-concatenation-operator] +## String concatenation [string-concatenation-operator] Use the `string concatenation operator '+'` to concatenate two values together where at least one of the values is a [`String` type](/reference/scripting-languages/painless/painless-types.md#string-type). diff --git a/docs/reference/scripting-languages/painless/painless-operators.md b/docs/reference/scripting-languages/painless/painless-operators.md index caa718daf70ac..f4f560366255a 100644 --- a/docs/reference/scripting-languages/painless/painless-operators.md +++ b/docs/reference/scripting-languages/painless/painless-operators.md @@ -29,12 +29,12 @@ Painless organizes operators into five functional categories based on their purp Control the fundamental flow and structure of expressions in Painless scripts. These operators manage how expressions are evaluated, values are assigned, and conditional logic is run. * [Precedence](/reference/scripting-languages/painless/painless-operators-general.md#precedence-operator) `()`: Controls evaluation order by overriding default precedence rules -* [Function Call](/reference/scripting-languages/painless/painless-operators-general.md#function-call-operator) `()`: Executes user-defined functions with arguments +* [Function call](/reference/scripting-languages/painless/painless-operators-general.md#function-call-operator) `()`: Executes user-defined functions with arguments * [Cast](/reference/scripting-languages/painless/painless-operators-general.md#cast-operator) `()` : Forces explicit type conversion between compatible types * [Conditional](/reference/scripting-languages/painless/painless-operators-general.md#conditional-operator) `? :` : Provides inline if-else logic for expressions * [Elvis](/reference/scripting-languages/painless/painless-operators-reference.md#elvis-operator) `?:` : Returns first non-null value for null coalescing * [Assignment](/reference/scripting-languages/painless/painless-operators-general.md#assignment-operator) `=` : Stores values in variables or fields -* [Compound Assignment](/reference/scripting-languages/painless/painless-operators-general.md#compound-assignment-operator) `$=` : Combines binary operations with assignment (`+=`, `-=`, and so on) +* [Compound assignment](/reference/scripting-languages/painless/painless-operators-general.md#compound-assignment-operator) `$=` : Combines binary operations with assignment (`+=`, `-=`, and so on) ### Numeric operators @@ -42,49 +42,49 @@ Perform mathematical calculations and bit-level manipulations on numeric values. * [Increment](/reference/scripting-languages/painless/painless-operators-numeric.md#post-increment-operator)/[Decrement](/reference/scripting-languages/painless/painless-operators-numeric.md#post-decrement-operator) (`++`. `--`) : Increases or decreases values by one (pre/post variants) * [Unary](/reference/scripting-languages/painless/painless-operators-numeric.md#unary-positive-operator) (`+`, `-`) : preserves or negates numeric values -* [Bitwise Not](/reference/scripting-languages/painless/painless-operators-numeric.md#bitwise-not-operator) `~` : inverts all bits in integer values +* [Bitwise not](/reference/scripting-languages/painless/painless-operators-numeric.md#bitwise-not-operator) `~` : inverts all bits in integer values * [Multiplication](/reference/scripting-languages/painless/painless-operators-numeric.md#multiplication-operator)/[Division](/reference/scripting-languages/painless/painless-operators-numeric.md#division-operator)/[Remainder](/reference/scripting-languages/painless/painless-operators-numeric.md#remainder-operator) `*` `/` `%` : Basic arithmetic operations * [Addition](/reference/scripting-languages/painless/painless-operators-numeric.md#addition-operator)/[Subtraction](/reference/scripting-languages/painless/painless-operators-numeric.md#subtraction-operator) `+` `-` : Basic arithmetic operations * [Shift](/reference/scripting-languages/painless/painless-operators-numeric.md#left-shift-operator) (`<<`, `>>`, `>>>`) : Shifts bits left or right within integer values -* [Bitwise And](/reference/scripting-languages/painless/painless-operators-numeric.md#bitwise-and-operator) `&` : Performs AND operations on corresponding bits -* [Bitwise Xor](/reference/scripting-languages/painless/painless-operators-numeric.md#bitwise-xor-operator) `^` : Performs XOR operations on corresponding bits -* [Bitwise Or](/reference/scripting-languages/painless/painless-operators-numeric.md#bitwise-or-operator) `|`: Performs OR operations on corresponding bits +* [Bitwise and](/reference/scripting-languages/painless/painless-operators-numeric.md#bitwise-and-operator) `&` : Performs AND operations on corresponding bits +* [Bitwise xor](/reference/scripting-languages/painless/painless-operators-numeric.md#bitwise-xor-operator) `^` : Performs XOR operations on corresponding bits +* [Bitwise or](/reference/scripting-languages/painless/painless-operators-numeric.md#bitwise-or-operator) `|`: Performs OR operations on corresponding bits ### Boolean operators Handle logical evaluation, comparisons, and conditional expressions. These operators are fundamental for creating filters, conditional logic, and boolean expressions in scripts -* [Boolean Not](/reference/scripting-languages/painless/painless-operators-boolean.md#boolean-not-operator) `!`:Inverts boolean values (true becomes false) +* [Boolean not](/reference/scripting-languages/painless/painless-operators-boolean.md#boolean-not-operator) `!`:Inverts boolean values (true becomes false) * [Comparison](/reference/scripting-languages/painless/painless-operators-boolean.md#greater-than-operator) `>` `>=` `<` `<=` : Compares numeric values for ordering * [Instanceof](/reference/scripting-languages/painless/painless-operators-boolean.md#instanceof-operator) `instanceof`: Checks if an object is an instance of a specific type * [Equality](/reference/scripting-languages/painless/painless-operators-boolean.md#equality-equals-operator) `==` `!=` : Compares values for equality (calls equals() method) * [Identity](/reference/scripting-languages/painless/painless-operators-boolean.md#identity-equals-operator) `===` `!==` : Compares object references for same instance -* [Boolean Xor](/reference/scripting-languages/painless/painless-operators-boolean.md#boolean-xor-operator) `^`: Returns true if exactly one operand is true -* [Boolean And](/reference/scripting-languages/painless/painless-operators-boolean.md#boolean-and-operator) `&&`: Returns true only if both operands are true -* [Boolean Or](/reference/scripting-languages/painless/painless-operators-boolean.md#boolean-or-operator) `||`: Returns true if at least one operand is true +* [Boolean xor](/reference/scripting-languages/painless/painless-operators-boolean.md#boolean-xor-operator) `^`: Returns true if exactly one operand is true +* [Boolean and](/reference/scripting-languages/painless/painless-operators-boolean.md#boolean-and-operator) `&&`: Returns true only if both operands are true +* [Boolean or](/reference/scripting-languages/painless/painless-operators-boolean.md#boolean-or-operator) `||`: Returns true if at least one operand is true -### Reference Operators +### Reference operators Enable interaction with objects, method calls, and data structure manipulation. These operators are essential for working with documents, collections, and complex data types in {{es}} contexts. -* [Method Call](/reference/scripting-languages/painless/painless-operators-reference.md#method-call-operator) `. ()`: Invokes methods on objects with optional arguments -* [Field Access](/reference/scripting-languages/painless/painless-operators-reference.md#field-access-operator) `.`: Accesses object properties and member fields +* [Method call](/reference/scripting-languages/painless/painless-operators-reference.md#method-call-operator) `. ()`: Invokes methods on objects with optional arguments +* [Field access](/reference/scripting-languages/painless/painless-operators-reference.md#field-access-operator) `.`: Accesses object properties and member fields * [Null safe](/reference/scripting-languages/painless/painless-operators-reference.md#null-safe-operator) `?.`: Safely accesses fields/methods without null pointer exceptions -* [List/Map Initialization](/reference/scripting-languages/painless/painless-operators-reference.md#list-initialization-operator) `[] [:]`: Creates new List or Map collections with initial values -* [List/Map Access](/reference/scripting-languages/painless/painless-operators-reference.md#list-access-operator) `[]`: Retrieves or sets elements in collections by key/index -* [New Instance](/reference/scripting-languages/painless/painless-operators-reference.md#new-instance-operator) `new ()`: Creates new object instances with constructor arguments -* [String Concatenation](/reference/scripting-languages/painless/painless-operators-reference.md#string-concatenation-operator) `+` : Joins strings and converts other types to strings +* [List/Map initialization](/reference/scripting-languages/painless/painless-operators-reference.md#list-initialization-operator) `[] [:]`: Creates new List or Map collections with initial values +* [List/Map access](/reference/scripting-languages/painless/painless-operators-reference.md#list-access-operator) `[]`: Retrieves or sets elements in collections by key/index +* [New instance](/reference/scripting-languages/painless/painless-operators-reference.md#new-instance-operator) `new ()`: Creates new object instances with constructor arguments +* [String concatenation](/reference/scripting-languages/painless/painless-operators-reference.md#string-concatenation-operator) `+` : Joins strings and converts other types to strings -### Array Operators +### Array operators Provide specialized functionality for array creation, element access, and array property retrieval. These operators are essential when working with multi-value fields and array data structures. -* [Array Initialization](/reference/scripting-languages/painless/painless-operators-array.md#array-initialization-operator) `[] {}`\`: Creates arrays with predefined values -* [Array Access](/reference/scripting-languages/painless/painless-operators-array.md#array-access-operator) `[]`: Retrieves or sets array elements by index position -* [Array Length](/reference/scripting-languages/painless/painless-operators-array.md#array-length-operator) `.`: Returns the number of elements in an array -* [New Array](/reference/scripting-languages/painless/painless-operators-array.md#new-array-operator) `new []`: Creates arrays with specified dimensions and sizes +* [Array initialization](/reference/scripting-languages/painless/painless-operators-array.md#array-initialization-operator) `[] {}`\`: Creates arrays with predefined values +* [Array access](/reference/scripting-languages/painless/painless-operators-array.md#array-access-operator) `[]`: Retrieves or sets array elements by index position +* [Array length](/reference/scripting-languages/painless/painless-operators-array.md#array-length-operator) `.`: Returns the number of elements in an array +* [New array](/reference/scripting-languages/painless/painless-operators-array.md#new-array-operator) `new []`: Creates arrays with specified dimensions and sizes -## Complete Operator Reference +## Complete operator reference @@ -96,54 +96,54 @@ Provide specialized functionality for array creation, element access, and array | **Operator** | **Category** | **Symbol(s)** | **Precedence** | **Associativity** | | --- | --- | --- | --- | --- | | [Precedence](/reference/scripting-languages/painless/painless-operators-general.md#precedence-operator) | [General](/reference/scripting-languages/painless/painless-operators-general.md) | () | 0 | left → right | -| [Method Call](/reference/scripting-languages/painless/painless-operators-reference.md#method-call-operator) | [Reference](/reference/scripting-languages/painless/painless-operators-reference.md) | . () | 1 | left → right | -| [Field Access](/reference/scripting-languages/painless/painless-operators-reference.md#field-access-operator) | [Reference](/reference/scripting-languages/painless/painless-operators-reference.md) | . | 1 | left → right | -| [Null Safe](/reference/scripting-languages/painless/painless-operators-reference.md#null-safe-operator) | [Reference](/reference/scripting-languages/painless/painless-operators-reference.md) | ?. | 1 | left → right | -| [Function Call](/reference/scripting-languages/painless/painless-operators-general.md#function-call-operator) | [General](/reference/scripting-languages/painless/painless-operators-general.md) | () | 1 | left → right | -| [Array Initialization](/reference/scripting-languages/painless/painless-operators-array.md#array-initialization-operator) | [Array](/reference/scripting-languages/painless/painless-operators-array.md) | [] {} | 1 | left → right | -| [Array Access](/reference/scripting-languages/painless/painless-operators-array.md#array-access-operator) | [Array](/reference/scripting-languages/painless/painless-operators-array.md) | [] | 1 | left → right | -| [Array Length](/reference/scripting-languages/painless/painless-operators-array.md#array-length-operator) | [Array](/reference/scripting-languages/painless/painless-operators-array.md) | . | 1 | left → right | -| [List Initialization](/reference/scripting-languages/painless/painless-operators-reference.md#list-initialization-operator) | [Reference](/reference/scripting-languages/painless/painless-operators-reference.md) | [] | 1 | left → right | -| [List Access](/reference/scripting-languages/painless/painless-operators-reference.md#list-access-operator) | [Reference](/reference/scripting-languages/painless/painless-operators-reference.md) | [] | 1 | left → right | -| [Map Initialization](/reference/scripting-languages/painless/painless-operators-reference.md#map-initialization-operator) | [Reference](/reference/scripting-languages/painless/painless-operators-reference.md) | [:] | 1 | left → right | -| [Map Access](/reference/scripting-languages/painless/painless-operators-reference.md#map-access-operator) | [Reference](/reference/scripting-languages/painless/painless-operators-reference.md) | [] | 1 | left → right | -| [Post Increment](/reference/scripting-languages/painless/painless-operators-numeric.md#post-increment-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | ++ | 1 | left → right | -| [Post Decrement](/reference/scripting-languages/painless/painless-operators-numeric.md#post-decrement-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | — | 1 | left → right | -| [Pre Increment](/reference/scripting-languages/painless/painless-operators-numeric.md#pre-increment-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | ++ | 2 | right → left | -| [Pre Decrement](/reference/scripting-languages/painless/painless-operators-numeric.md#pre-decrement-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | — | 2 | right → left | -| [Unary Positive](/reference/scripting-languages/painless/painless-operators-numeric.md#unary-positive-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | + | 2 | right → left | -| [Unary Negative](/reference/scripting-languages/painless/painless-operators-numeric.md#unary-negative-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | - | 2 | right → left | -| [Boolean Not](/reference/scripting-languages/painless/painless-operators-boolean.md#boolean-not-operator) | [Boolean](/reference/scripting-languages/painless/painless-operators-boolean.md) | ! | 2 | right → left | -| [Bitwise Not](/reference/scripting-languages/painless/painless-operators-numeric.md#bitwise-not-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | ~ | 2 | right → left | +| [Method call](/reference/scripting-languages/painless/painless-operators-reference.md#method-call-operator) | [Reference](/reference/scripting-languages/painless/painless-operators-reference.md) | . () | 1 | left → right | +| [Field access](/reference/scripting-languages/painless/painless-operators-reference.md#field-access-operator) | [Reference](/reference/scripting-languages/painless/painless-operators-reference.md) | . | 1 | left → right | +| [Null safe](/reference/scripting-languages/painless/painless-operators-reference.md#null-safe-operator) | [Reference](/reference/scripting-languages/painless/painless-operators-reference.md) | ?. | 1 | left → right | +| [Function call](/reference/scripting-languages/painless/painless-operators-general.md#function-call-operator) | [General](/reference/scripting-languages/painless/painless-operators-general.md) | () | 1 | left → right | +| [Array initialization](/reference/scripting-languages/painless/painless-operators-array.md#array-initialization-operator) | [Array](/reference/scripting-languages/painless/painless-operators-array.md) | [] {} | 1 | left → right | +| [Array access](/reference/scripting-languages/painless/painless-operators-array.md#array-access-operator) | [Array](/reference/scripting-languages/painless/painless-operators-array.md) | [] | 1 | left → right | +| [Array length](/reference/scripting-languages/painless/painless-operators-array.md#array-length-operator) | [Array](/reference/scripting-languages/painless/painless-operators-array.md) | . | 1 | left → right | +| [List initialization](/reference/scripting-languages/painless/painless-operators-reference.md#list-initialization-operator) | [Reference](/reference/scripting-languages/painless/painless-operators-reference.md) | [] | 1 | left → right | +| [List access](/reference/scripting-languages/painless/painless-operators-reference.md#list-access-operator) | [Reference](/reference/scripting-languages/painless/painless-operators-reference.md) | [] | 1 | left → right | +| [Map initialization](/reference/scripting-languages/painless/painless-operators-reference.md#map-initialization-operator) | [Reference](/reference/scripting-languages/painless/painless-operators-reference.md) | [:] | 1 | left → right | +| [Map access](/reference/scripting-languages/painless/painless-operators-reference.md#map-access-operator) | [Reference](/reference/scripting-languages/painless/painless-operators-reference.md) | [] | 1 | left → right | +| [Post increment](/reference/scripting-languages/painless/painless-operators-numeric.md#post-increment-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | ++ | 1 | left → right | +| [Post decrement](/reference/scripting-languages/painless/painless-operators-numeric.md#post-decrement-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | — | 1 | left → right | +| [Pre increment](/reference/scripting-languages/painless/painless-operators-numeric.md#pre-increment-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | ++ | 2 | right → left | +| [Pre decrement](/reference/scripting-languages/painless/painless-operators-numeric.md#pre-decrement-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | — | 2 | right → left | +| [Unary positive](/reference/scripting-languages/painless/painless-operators-numeric.md#unary-positive-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | + | 2 | right → left | +| [Unary negative](/reference/scripting-languages/painless/painless-operators-numeric.md#unary-negative-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | - | 2 | right → left | +| [Boolean not](/reference/scripting-languages/painless/painless-operators-boolean.md#boolean-not-operator) | [Boolean](/reference/scripting-languages/painless/painless-operators-boolean.md) | ! | 2 | right → left | +| [Bitwise not](/reference/scripting-languages/painless/painless-operators-numeric.md#bitwise-not-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | ~ | 2 | right → left | | [Cast](/reference/scripting-languages/painless/painless-operators-general.md#cast-operator) | [General](/reference/scripting-languages/painless/painless-operators-general.md) | () | 3 | right → left | -| [New Instance](/reference/scripting-languages/painless/painless-operators-reference.md#new-instance-operator) | [Reference](/reference/scripting-languages/painless/painless-operators-reference.md) | new () | 3 | right → left | -| [New Array](/reference/scripting-languages/painless/painless-operators-array.md#new-array-operator) | [Array](/reference/scripting-languages/painless/painless-operators-array.md) | new [] | 3 | right → left | +| [New instance](/reference/scripting-languages/painless/painless-operators-reference.md#new-instance-operator) | [Reference](/reference/scripting-languages/painless/painless-operators-reference.md) | new () | 3 | right → left | +| [New array](/reference/scripting-languages/painless/painless-operators-array.md#new-array-operator) | [Array](/reference/scripting-languages/painless/painless-operators-array.md) | new [] | 3 | right → left | | [Multiplication](/reference/scripting-languages/painless/painless-operators-numeric.md#multiplication-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | * | 4 | left → right | | [Division](/reference/scripting-languages/painless/painless-operators-numeric.md#division-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | / | 4 | left → right | | [Remainder](/reference/scripting-languages/painless/painless-operators-numeric.md#remainder-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | % | 4 | left → right | -| [String Concatenation](/reference/scripting-languages/painless/painless-operators-reference.md#string-concatenation-operator) | [Reference](/reference/scripting-languages/painless/painless-operators-reference.md) | + | 5 | left → right | +| [String concatenation](/reference/scripting-languages/painless/painless-operators-reference.md#string-concatenation-operator) | [Reference](/reference/scripting-languages/painless/painless-operators-reference.md) | + | 5 | left → right | | [Addition](/reference/scripting-languages/painless/painless-operators-numeric.md#addition-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | + | 5 | left → right | | [Subtraction](/reference/scripting-languages/painless/painless-operators-numeric.md#subtraction-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | - | 5 | left → right | -| [Left Shift](/reference/scripting-languages/painless/painless-operators-numeric.md#left-shift-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | << | 6 | left → right | -| [Right Shift](/reference/scripting-languages/painless/painless-operators-numeric.md#right-shift-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | >> | 6 | left → right | -| [Unsigned Right Shift](/reference/scripting-languages/painless/painless-operators-numeric.md#unsigned-right-shift-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | >>> | 6 | left → right | -| [Greater Than](/reference/scripting-languages/painless/painless-operators-boolean.md#greater-than-operator) | [Boolean](/reference/scripting-languages/painless/painless-operators-boolean.md) | > | 7 | left → right | -| [Greater Than Or Equal](/reference/scripting-languages/painless/painless-operators-boolean.md#greater-than-or-equal-operator) | [Boolean](/reference/scripting-languages/painless/painless-operators-boolean.md) | >= | 7 | left → right | -| [Less Than](/reference/scripting-languages/painless/painless-operators-boolean.md#less-than-operator) | [Boolean](/reference/scripting-languages/painless/painless-operators-boolean.md) | < | 7 | left → right | -| [Less Than Or Equal](/reference/scripting-languages/painless/painless-operators-boolean.md#less-than-or-equal-operator) | [Boolean](/reference/scripting-languages/painless/painless-operators-boolean.md) | <= | 7 | left → right | +| [Left shift](/reference/scripting-languages/painless/painless-operators-numeric.md#left-shift-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | << | 6 | left → right | +| [Right shift](/reference/scripting-languages/painless/painless-operators-numeric.md#right-shift-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | >> | 6 | left → right | +| [Unsigned right shift](/reference/scripting-languages/painless/painless-operators-numeric.md#unsigned-right-shift-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | >>> | 6 | left → right | +| [Greater than](/reference/scripting-languages/painless/painless-operators-boolean.md#greater-than-operator) | [Boolean](/reference/scripting-languages/painless/painless-operators-boolean.md) | > | 7 | left → right | +| [Greater than Or Equal](/reference/scripting-languages/painless/painless-operators-boolean.md#greater-than-or-equal-operator) | [Boolean](/reference/scripting-languages/painless/painless-operators-boolean.md) | >= | 7 | left → right | +| [Less than](/reference/scripting-languages/painless/painless-operators-boolean.md#less-than-operator) | [Boolean](/reference/scripting-languages/painless/painless-operators-boolean.md) | < | 7 | left → right | +| [Less than Or Equal](/reference/scripting-languages/painless/painless-operators-boolean.md#less-than-or-equal-operator) | [Boolean](/reference/scripting-languages/painless/painless-operators-boolean.md) | <= | 7 | left → right | | [Instanceof](/reference/scripting-languages/painless/painless-operators-boolean.md#instanceof-operator) | [Boolean](/reference/scripting-languages/painless/painless-operators-boolean.md) | instanceof | 8 | left → right | -| [Equality Equals](/reference/scripting-languages/painless/painless-operators-boolean.md#equality-equals-operator) | [Boolean](/reference/scripting-languages/painless/painless-operators-boolean.md) | == | 9 | left → right | -| [Equality Not Equals](/reference/scripting-languages/painless/painless-operators-boolean.md#equality-not-equals-operator) | [Boolean](/reference/scripting-languages/painless/painless-operators-boolean.md) | != | 9 | left → right | -| [Identity Equals](/reference/scripting-languages/painless/painless-operators-boolean.md#identity-equals-operator) | [Boolean](/reference/scripting-languages/painless/painless-operators-boolean.md) | === | 9 | left → right | -| [Identity Not Equals](/reference/scripting-languages/painless/painless-operators-boolean.md#identity-not-equals-operator) | [Boolean](/reference/scripting-languages/painless/painless-operators-boolean.md) | !== | 9 | left → right | -| [Bitwise And](/reference/scripting-languages/painless/painless-operators-numeric.md#bitwise-and-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | & | 10 | left → right | -| [Boolean Xor](/reference/scripting-languages/painless/painless-operators-boolean.md#boolean-xor-operator) | [Boolean](/reference/scripting-languages/painless/painless-operators-boolean.md) | ^ | 11 | left → right | -| [Bitwise Xor](/reference/scripting-languages/painless/painless-operators-numeric.md#bitwise-xor-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | ^ | 11 | left → right | -| [Bitwise Or](/reference/scripting-languages/painless/painless-operators-numeric.md#bitwise-or-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | | | 12 | left → right | -| [Boolean And](/reference/scripting-languages/painless/painless-operators-boolean.md#boolean-and-operator) | [Boolean](/reference/scripting-languages/painless/painless-operators-boolean.md) | && | 13 | left → right | -| [Boolean Or](/reference/scripting-languages/painless/painless-operators-boolean.md#boolean-or-operator) | [Boolean](/reference/scripting-languages/painless/painless-operators-boolean.md) | || | 14 | left → right | +| [Equality equals](/reference/scripting-languages/painless/painless-operators-boolean.md#equality-equals-operator) | [Boolean](/reference/scripting-languages/painless/painless-operators-boolean.md) | == | 9 | left → right | +| [Equality not equals](/reference/scripting-languages/painless/painless-operators-boolean.md#equality-not-equals-operator) | [Boolean](/reference/scripting-languages/painless/painless-operators-boolean.md) | != | 9 | left → right | +| [Identity equals](/reference/scripting-languages/painless/painless-operators-boolean.md#identity-equals-operator) | [Boolean](/reference/scripting-languages/painless/painless-operators-boolean.md) | === | 9 | left → right | +| [Identity not equals](/reference/scripting-languages/painless/painless-operators-boolean.md#identity-not-equals-operator) | [Boolean](/reference/scripting-languages/painless/painless-operators-boolean.md) | !== | 9 | left → right | +| [Bitwise and](/reference/scripting-languages/painless/painless-operators-numeric.md#bitwise-and-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | & | 10 | left → right | +| [Boolean xor](/reference/scripting-languages/painless/painless-operators-boolean.md#boolean-xor-operator) | [Boolean](/reference/scripting-languages/painless/painless-operators-boolean.md) | ^ | 11 | left → right | +| [Bitwise xor](/reference/scripting-languages/painless/painless-operators-numeric.md#bitwise-xor-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | ^ | 11 | left → right | +| [Bitwise or](/reference/scripting-languages/painless/painless-operators-numeric.md#bitwise-or-operator) | [Numeric](/reference/scripting-languages/painless/painless-operators-numeric.md) | | | 12 | left → right | +| [Boolean and](/reference/scripting-languages/painless/painless-operators-boolean.md#boolean-and-operator) | [Boolean](/reference/scripting-languages/painless/painless-operators-boolean.md) | && | 13 | left → right | +| [Boolean or](/reference/scripting-languages/painless/painless-operators-boolean.md#boolean-or-operator) | [Boolean](/reference/scripting-languages/painless/painless-operators-boolean.md) | || | 14 | left → right | | [Conditional](/reference/scripting-languages/painless/painless-operators-general.md#conditional-operator) | [General](/reference/scripting-languages/painless/painless-operators-general.md) | ? : | 15 | right → left | | [Elvis](/reference/scripting-languages/painless/painless-operators-reference.md#elvis-operator) | [General](/reference/scripting-languages/painless/painless-operators-general.md) | ?: | 16 | right → left | | [Assignment](/reference/scripting-languages/painless/painless-operators-general.md#assignment-operator) | [General](/reference/scripting-languages/painless/painless-operators-general.md) | = | 17 | right → left | -| [Compound Assignment](/reference/scripting-languages/painless/painless-operators-general.md#compound-assignment-operator) | [General](/reference/scripting-languages/painless/painless-operators-general.md) | $= | 17 | right → left | +| [Compound assignment](/reference/scripting-languages/painless/painless-operators-general.md#compound-assignment-operator) | [General](/reference/scripting-languages/painless/painless-operators-general.md) | $= | 17 | right → left | diff --git a/docs/reference/scripting-languages/painless/painless-variables.md b/docs/reference/scripting-languages/painless/painless-variables.md index 0ecdaea23faf5..d5940f36a9664 100644 --- a/docs/reference/scripting-languages/painless/painless-variables.md +++ b/docs/reference/scripting-languages/painless/painless-variables.md @@ -33,7 +33,7 @@ Before using a variable, you must declare it with the format [type](/reference/s ### Errors -An error occurs if a variable is used prior to or without declaration. +* If a variable is used prior to or without declaration. ### Grammar From 60d0118d8fbaf0b979aff618cab5c1bdb6a9b8db Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Fri, 7 Nov 2025 12:37:11 -0500 Subject: [PATCH 12/20] touchup --- .../scripting-languages/painless/painless-operators.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/docs/reference/scripting-languages/painless/painless-operators.md b/docs/reference/scripting-languages/painless/painless-operators.md index f4f560366255a..053c1649d8745 100644 --- a/docs/reference/scripting-languages/painless/painless-operators.md +++ b/docs/reference/scripting-languages/painless/painless-operators.md @@ -20,6 +20,7 @@ Painless operators use Java-like syntax with {{es}} specific enhancements such a Painless organizes operators into five functional categories based on their purpose. +Double-click to expand. :::{image} images/painless-operator-categories.png :alt: Painless operator categories ::: @@ -86,13 +87,6 @@ Provide specialized functionality for array creation, element access, and array ## Complete operator reference - - - - - - - | **Operator** | **Category** | **Symbol(s)** | **Precedence** | **Associativity** | | --- | --- | --- | --- | --- | | [Precedence](/reference/scripting-languages/painless/painless-operators-general.md#precedence-operator) | [General](/reference/scripting-languages/painless/painless-operators-general.md) | () | 0 | left → right | From 678d872f3f8cf244ab88d6867715636c090accc2 Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Tue, 18 Nov 2025 16:43:27 -0500 Subject: [PATCH 13/20] Add operators, etc. --- .../painless/painless-functions.md | 66 ++++++-- .../painless/painless-lambdas.md | 48 ++++-- .../painless/painless-operators-array.md | 2 + .../painless/painless-operators-general.md | 25 ++-- .../painless/painless-operators.md | 2 +- .../painless/painless-regexes.md | 5 +- .../painless/painless-scripts.md | 5 +- .../painless/painless-statements.md | 141 ++++++++++++++---- 8 files changed, 232 insertions(+), 62 deletions(-) diff --git a/docs/reference/scripting-languages/painless/painless-functions.md b/docs/reference/scripting-languages/painless/painless-functions.md index e68407863a9d6..2e4619f1f3c81 100644 --- a/docs/reference/scripting-languages/painless/painless-functions.md +++ b/docs/reference/scripting-languages/painless/painless-functions.md @@ -10,15 +10,63 @@ products: # Functions [painless-functions] -A function is a named piece of code comprised of one-to-many statements to perform a specific task. A function is called multiple times in a single script to repeat its specific task. A parameter is a named type value available as a [variable](/reference/scripting-languages/painless/painless-variables.md) within the statement(s) of a function. A function specifies zero-to-many parameters, and when a function is called a value is specified per parameter. An argument is a value passed into a function at the point of call. A function specifies a return type value, though if the type is [void](/reference/scripting-languages/painless/painless-types.md#void-type) then no value is returned. Any non-void type return value is available for use within an [operation](/reference/scripting-languages/painless/painless-operators.md) or is discarded otherwise. +A function is a reusable block of code that performs a specific task and can be called multiple times throughout your script. Functions help organize your code, reduce repetition, and make complex scripts more maintainable and readable. -You can declare functions at the beginning of a Painless script, for example: +Functions in Painless work similarly to Java functions, allowing you to encapsulate logic, accept input parameters, and return calculated results. You can define custom functions to handle common operations, calculations, or data transformations that your script needs to perform repeatedly. -```painless -boolean isNegative(def x) { x < 0 } -... -if (isNegative(someVar)) { - ... -} -``` +## Function structure +A function is a named piece of code composed of one-to-many statements to perform a specific task. A function is called multiple times in a single script to repeat its specific task. A parameter is a named type value available as a [variable](/reference/scripting-languages/painless/painless-variables.md) within the statement(s) of a function. A function specifies zero-to-many parameters, and when a function is called, a value is specified per parameter. An argument is a value passed into a function at the point of call. A function specifies a type value, though if the type is [void](/reference/scripting-languages/painless/painless-types.md#void-type) then no value is returned. Any non-void type return value is available for use within an [operation](/reference/scripting-languages/painless/painless-operators.md) or is discarded otherwise. + +## Function declaration + +You can declare functions at the beginning of a Painless script. Functions must be declared before they are used in your script. + +### Examples + +* Function with return value: + + This code calculates the VAT tax on an `amount = 100` + + ```java + double calculateVAT(double amount) { + return amount * 0.19; // return double type + } + + return calculateVAT(100); + ``` + +* Function with void return type: + + This snippet uses a function called `addName` to add the name “Elyssa” to a list of names. + + ```java + void addName(List l, String n) { + l.add(n); + } + + List names = new ArrayList(); + addName(names, "Elyssa"); + ``` + +* Simple boolean function: + + This code uses a boolean function to evaluate the `if` statement. If the customer is prime, the code inside the statement is run; otherwise, it continues with the next part of the program. + + ```java + boolean hasFreeShipping(def customer) { customer.isPrime } + ... + if (hasFreeShipping(client)) { + ... + } + ``` + +## Best practices + +When you write functions in Painless: + +* Use descriptive names that clearly indicate what the function does. +* Define appropriate parameter types to ensure type safety. +* Keep functions focused on a single, well-defined task. +* Return consistent types to make functions predictable. +* Declare functions at the beginning of your script for clarity. diff --git a/docs/reference/scripting-languages/painless/painless-lambdas.md b/docs/reference/scripting-languages/painless/painless-lambdas.md index cfb2fb3c6ba6b..8757a423e1e85 100644 --- a/docs/reference/scripting-languages/painless/painless-lambdas.md +++ b/docs/reference/scripting-languages/painless/painless-lambdas.md @@ -10,15 +10,45 @@ products: # Lambdas [painless-lambdas] -Lambda expressions and method references work the same as in [Java](https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.md). - -```painless -list.removeIf(item -> item == 2); -list.removeIf((int item) -> item == 2); -list.removeIf((int item) -> { item == 2 }); -list.sort((x, y) -> x - y); -list.sort(Integer::compare); +Lambda expressions are anonymous functions that provide a concise way to write short, inline functions without declaring them explicitly. Lambdas are particularly useful for functional programming operations such as filtering, mapping, and sorting collections. + +Lambda expressions and method references work the same as in [Java](https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html), providing familiar syntax for developers. They allow you to write more compact and expressive code when working with collections and functional interfaces. + +## Lambda syntax + +Lambdas use the arrow syntax (`->`) to separate parameters from the function body. You can use lambdas with or without explicit type declarations. + +### Examples + +Basic lambda expressions: + +```java +// Removes all elements equal to 2 +list.removeIf(item -> item == 2); +list.removeIf((int item) -> item == 2); +list.removeIf((int item) -> { item == 2 }); + +// Sorts list in ascending order +list.sort((x, y) -> x - y); +// Sorts list in ascending order using method reference +list.sort(Integer::compare); ``` -You can make method references to functions within the script with `this`, for example `list.sort(this::mycompare)`. +## Method references + +You can make method references to functions within the script with `this`, for example `list.sort(this::mycompare)`. Method references provide a shorthand notation for lambdas that call a specific method. + +## Common use cases + +Lambdas are commonly used for: + +* **Filtering collections:** Remove elements that meet specific criteria. +* **Sorting data:** Define custom comparison logic. +* **Transforming values:** Apply operations to collection elements. +* **Functional operations:** Work with streams and functional interfaces. + + + + + diff --git a/docs/reference/scripting-languages/painless/painless-operators-array.md b/docs/reference/scripting-languages/painless/painless-operators-array.md index 7c196975aea34..121142773f118 100644 --- a/docs/reference/scripting-languages/painless/painless-operators-array.md +++ b/docs/reference/scripting-languages/painless/painless-operators-array.md @@ -14,6 +14,8 @@ products: Use the `array initialization operator '[] {}'` to allocate a single-dimensional [array type](/reference/scripting-languages/painless/painless-types.md#array-type) instance to the heap with a set of pre-defined elements. Each value used to initialize an element in the array type instance is cast to the specified element type value upon insertion. The order of specified values is maintained. +% For help with troubleshooting, refer to [Array/List manipulation errors](docs-content://https://github.com/elastic/docs-content/troubleshoot/elasticsearch/painless-array-list-manipulation-errors.md). + **Errors** * If a value is not castable to the specified type value. diff --git a/docs/reference/scripting-languages/painless/painless-operators-general.md b/docs/reference/scripting-languages/painless/painless-operators-general.md index 4dc460d5da90e..dd8b8216fded4 100644 --- a/docs/reference/scripting-languages/painless/painless-operators-general.md +++ b/docs/reference/scripting-languages/painless/painless-operators-general.md @@ -102,19 +102,26 @@ conditional: expression '?' expression ':' expression; * Evaluation of conditionals. - ```painless - boolean b = true; <1> - int x = b ? 1 : 2; <2> - List y = x > 1 ? new ArrayList() : null; <3> - def z = x < 2 ? x : 2.0; <4> + ```java + boolean b = true; + int x = b ? 1 : 2; <1> ``` - 1. declare `boolean b`; store `boolean true` to `b` - 2. declare `int x`; load from `b` → `boolean true` evaluate 1st expression: `int 1` → `int 1`; store `int 1` to `x` - 3. declare `List y`; load from `x` → `int 1`; `int 1` greater than `int 1` → `boolean false`; evaluate 2nd expression: `null` → `null`; store `null` to `y`; - 4. declare `def z`; load from `x` → `int 1`; `int 1` less than `int 2` → `boolean true`; evaluate 1st expression: load from `x` → `int 1`; promote `int 1` and `double 2.0`: result `double`; implicit cast `int 1` to `double 1.0` → `double 1.0`; implicit cast `double 1.0` to `def` → `def`; store `def` to `z`; + 1. declare `int x`; load from `b` → `boolean true` evaluate 1st expression: `int 1` → `int 1`; store `int 1` to `x` + + ```java + int x = 1; + List y = x > 1 ? new ArrayList() : null; <1> + ``` + 1. declare `List y`; load from `x` → `int 1`; `int 1` greater than `int 1` → `boolean false`; evaluate 2nd expression: `null` → `null`; store `null` to `y` + + ```java + int x = 1; + def z = x < 2 ? x : 2.0; <1> + ``` + 1. declare `def z`; load from `x` → `int 1`; `int 1` less than `int 2` → `boolean true`; evaluate 1st expression: load from `x` → `int 1`; promote `int 1` and `double 2.0`: result `double`; implicit cast `int 1` to `double 1.0` → `double 1.0`; implicit cast `double 1.0` to `def` → `def`; store `def` to `z`; ## Assignment [assignment-operator] diff --git a/docs/reference/scripting-languages/painless/painless-operators.md b/docs/reference/scripting-languages/painless/painless-operators.md index 053c1649d8745..325b97340fe41 100644 --- a/docs/reference/scripting-languages/painless/painless-operators.md +++ b/docs/reference/scripting-languages/painless/painless-operators.md @@ -20,10 +20,10 @@ Painless operators use Java-like syntax with {{es}} specific enhancements such a Painless organizes operators into five functional categories based on their purpose. -Double-click to expand. :::{image} images/painless-operator-categories.png :alt: Painless operator categories ::: +Double-click to expand the image. ### General operators diff --git a/docs/reference/scripting-languages/painless/painless-regexes.md b/docs/reference/scripting-languages/painless/painless-regexes.md index 216b07023bfda..fcb634227d44f 100644 --- a/docs/reference/scripting-languages/painless/painless-regexes.md +++ b/docs/reference/scripting-languages/painless/painless-regexes.md @@ -12,6 +12,8 @@ products: Regular expression constants are directly supported. To ensure fast performance, this is the only mechanism for creating patterns. Regular expressions are always constants and compiled efficiently a single time. +% You can check out the [regular expressions tutorial](docs-content://explore-analyze/scripting/modules-scripting-regular-expressions-tutorial.md) for related examples, and for help with troubleshooting, refer to [regex pattern matching failures](docs-content://troubleshoot/elasticsearch/painless-regex-pattern-matching-failures.md). + ```painless Pattern p = /[aeiou]/ ``` @@ -20,7 +22,6 @@ Pattern p = /[aeiou]/ A poorly written regular expression can significantly slow performance. If possible, avoid using regular expressions, particularly in frequently run scripts. :::: - ## Pattern flags [pattern-flags] You can define flags on patterns in Painless by adding characters after the trailing `/` like `/foo/i` or `/foo \w #comment/iUx`. Painless exposes all of the flags from Java’s [ Pattern class](https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.md) using these characters: @@ -35,5 +36,3 @@ You can define flags on patterns in Painless by adding characters after the trai | `U` | UNICODE_CHARACTER_CLASS | `'Ɛ' ==~ /\\w/U` | | `u` | UNICODE_CASE | `'Ɛ' ==~ /ɛ/iu` | | `x` | COMMENTS (aka extended) | `'a' ==~ /a #comment/x` | - - diff --git a/docs/reference/scripting-languages/painless/painless-scripts.md b/docs/reference/scripting-languages/painless/painless-scripts.md index 7c5c493da81cc..eb9f085e50f0d 100644 --- a/docs/reference/scripting-languages/painless/painless-scripts.md +++ b/docs/reference/scripting-languages/painless/painless-scripts.md @@ -10,5 +10,8 @@ products: # Scripts [painless-scripts] -Scripts are composed of one-to-many [statements](/reference/scripting-languages/painless/painless-statements.md) and are run in a sandbox that determines what local variables are immediately available along with what APIs are allowed. +A script in Painless is a complete program composed of one or more [statements](/reference/scripting-languages/painless/painless-statements.md) that performs a specific task within {{es}}. Scripts run within a controlled sandbox environment that determines which variables are available and which APIs can be accessed based on the [use context](docs-content://explore-analyze/scripting/painless-syntax-context-bridge.md). +Scripts are the fundamental runnable unit in Painless, allowing you to customize⁣ {{es}} behavior for search scoring, data transformation, field calculations, and operational tasks. Each script runs in isolation with access to context-specific variables and a curated set of safe operations. + +For detailed guidance on writing scripts, practical examples, and step-by-step tutorials, refer to [How to write Painless scripts](docs-content://explore-analyze/scripting/modules-scripting-using.md). diff --git a/docs/reference/scripting-languages/painless/painless-statements.md b/docs/reference/scripting-languages/painless/painless-statements.md index 4a2bca8b259e1..dab1afe585ad2 100644 --- a/docs/reference/scripting-languages/painless/painless-statements.md +++ b/docs/reference/scripting-languages/painless/painless-statements.md @@ -10,60 +10,141 @@ products: # Statements [painless-statements] -Painless supports all of Java’s [ control flow statements](https://docs.oracle.com/javase/tutorial/java/nutsandbolts/flow.md) except the `switch` statement. +Statements are individual instructions that perform actions in your Painless scripts. They control the flow of the code, define logic branches, and manage how your code processes data. Painless supports all Java [control flow statements](https://dev.java/learn/language-basics/controlling-flow/) except the `switch` statement. + +Statements in Painless allow you to create conditional logic, iterate through data, and structure your scripts for complex data processing tasks. Understanding these control structures is essential for writing effective scripts that can handle various scenarios in {{es}} workflows. ## Conditional statements [_conditional_statements] +Conditional statements enable your script to run different code paths based on values in the data. + ### If / Else [_if_else] -```painless -if (doc[item].size() == 0) { - // do something if "item" is missing -} else if (doc[item].value == 'something') { - // do something if "item" value is: something +Use `if`, `else if`, and `else` statements to create conditional logic that runs different code blocks based on boolean expressions. + +#### Example + +In this example, the product’s category is determined based on the product’s price value, classifying it as "Affordable"m "Moderately priced", or "Expensive". + +```java +int price = 64; +String priceCategory; + +if (price > 60) { + priceCategory = "Expensive"; +} else if (price < 30) { + priceCategory = "Affordable"; } else { - // do something else + priceCategory = "Moderately Priced"; } + +return priceCategory; // Expensive ``` +### Ternary operator +The ternary operator (`? :`) provides a concise way to perform conditional assignments. It’s a conditional statement that achieves the same purpose as `if/else` but in a more compact form. -## Loop statements [_loop_statements] +#### Example -### For [_for] +In this example, the product’s category is determined based on the product’s price value, classifying it as "Affordable" or "Expensive". -Painless also supports the `for in` syntax: +```java +int price = 64; +String priceCategory; -```painless -for (def item : list) { - // do something -} -``` +priceCategory = (price >= 60) ? "Affordable" : "Expensive"; -```painless -for (item in list) { - // do something -} +return priceCategory; // Expensive ``` +## Loop statements [_loop_statements] -### While [_while] +Loop statements allow you to repeat running code multiple times, either for a specific number of iterations or while a condition remains true. -```painless -while (ctx._source.item < condition) { - // do something -} -``` +### For +Painless supports both traditional `for` loops and enhanced `for` loops (`for-each`). Use for loops to iterate through data collections or repeat operations a specific number of times. -### Do-While [_do_while] +#### Examples -```painless -do { - // do something +* Traditional for loop: + + The following loop creates an empty array with 4 positions and assigns a value from 0 to 3 to each position. + + ```java + int[] arr = new int[4]; + + for (int i = 0; i < 4; i++) { + arr[i] = i; + } + + return arr; // [0, 1, 2, 3] + ``` + +* Enhanced for loop (for-each): + + The following code snippets create a list containing letters. Using a `for-each` loop, they concatenate the letters into a single string called `word`. + + ```java + List letters = ["h", "e", "l", "l", "o"]; + String word = ""; + + for (l in letters) { + word += l; + } + + return word; // hello + ``` + +* Alternative for loop syntax: + + ```java + List letters = ["h", "e", "l", "l", "o"]; + String word = ""; + + for (def l : letters) { + word += l; + } + + return word; // hello + ``` + +### While + +Use `while` loops to repeat running code as long as a specified condition remains true. The condition is evaluated before each iteration. + +#### Example + +Similar to the first example for the `for` statement, this one assigns a number from 0 to 3 to each position of an array with 4 elements using a `while` loop. + +```java +int[] arr = new int[4]; +int i = 0; // counter + +while (i < 4) { + arr[i] = i; + i++; // increment counter } -while (ctx._source.item < condition) + +return arr; // [0, 1, 2, 3] ``` +### Do-While +Use `do-while` loops to run code at least once, then repeat as long as the condition remains true. The condition is evaluated after each iteration. +#### Example + +This code defines an array with mixed types (strings and integers) and uses a `do-while` loop to concatenate all elements into a single string called word. + +```java +def[] letters = new def[] {"a", 1, "b", 2}; +String word = ""; +int i = 0; // counte +do { + word += letters[i]; + i++; // increment counter +} while (i < letters.length) +return word; // a1b2 +``` From 649031f635a8143bf6bf4e2ee1c00fafc3e78931 Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Wed, 19 Nov 2025 15:30:21 -0500 Subject: [PATCH 14/20] Some contexts --- .../painless/painless-context-examples.md | 316 ++++++++++++------ .../painless/painless-contexts.md | 90 +++-- .../painless/painless-field-context.md | 130 +++---- .../painless/painless-filter-context.md | 31 +- .../painless-ingest-processor-context.md | 110 +++--- .../painless/painless-operators-array.md | 2 +- .../painless-runtime-fields-context.md | 112 ++++--- 7 files changed, 459 insertions(+), 332 deletions(-) diff --git a/docs/reference/scripting-languages/painless/painless-context-examples.md b/docs/reference/scripting-languages/painless/painless-context-examples.md index cffecd3b9be36..37da35117fe2c 100644 --- a/docs/reference/scripting-languages/painless/painless-context-examples.md +++ b/docs/reference/scripting-languages/painless/painless-context-examples.md @@ -8,114 +8,216 @@ products: - id: painless --- -# Context example data [painless-context-examples] - -Complete the following steps to index the `seat` sample data into {{es}}. You can run any of the context examples against this sample data after you configure it. - -Each document in the `seat` data contains the following fields: - -`theatre` ([`keyword`](/reference/elasticsearch/mapping-reference/keyword.md)) -: The name of the theater the play is in. - -`play` ([`keyword`](/reference/elasticsearch/mapping-reference/keyword.md)) -: The name of the play. - -`actors` ([`keyword`](/reference/elasticsearch/mapping-reference/keyword.md)) -: A list of actors in the play. - -`date` ([`keyword`](/reference/elasticsearch/mapping-reference/keyword.md)) -: The date of the play as a keyword. - -`time` ([`keyword`](/reference/elasticsearch/mapping-reference/keyword.md)) -: The time of the play as a keyword. - -`cost` ([`long`](/reference/elasticsearch/mapping-reference/number.md)) -: The cost of the ticket for the seat. - -`row` ([`long`](/reference/elasticsearch/mapping-reference/number.md)) -: The row of the seat. - -`number` ([`long`](/reference/elasticsearch/mapping-reference/number.md)) -: The number of the seat within a row. - -`sold` ([`boolean`](/reference/elasticsearch/mapping-reference/boolean.md)) -: Whether or not the seat is sold. - -`datetime` ([`date`](/reference/elasticsearch/mapping-reference/date.md)) -: The date and time of the play as a date object. - -## Prerequisites [_prerequisites] - -Start an [{{es}} instance](docs-content://deploy-manage/deploy/self-managed/installing-elasticsearch.md), and then access the [Console](docs-content://explore-analyze/query-filter/tools/console.md) in {{kib}}. - - -## Configure the `seat` sample data [_configure_the_seat_sample_data] - -1. From the {{kib}} Console, create [mappings](docs-content://manage-data/data-store/mapping.md) for the sample data: - - ```console - PUT /seats - { - "mappings": { - "properties": { - "theatre": { "type": "keyword" }, - "play": { "type": "keyword" }, - "actors": { "type": "keyword" }, - "date": { "type": "keyword" }, - "time": { "type": "keyword" }, - "cost": { "type": "double" }, - "row": { "type": "integer" }, - "number": { "type": "integer" }, - "sold": { "type": "boolean" }, - "datetime": { "type": "date" } - } - } +# Context example data (eCommerce) [painless-context-examples] + +Complete the following installation steps to index the Sample eCommerce orders data into {{es}}. You can run any of the context examples against this sample data after you configure it. + +Each document in this dataset represents a complete eCommerce order. Every order contains complete transaction data including product details, pricing information, customer data, and geographic location. Orders may include multiple products, with product-specific information stored as values within individual fields. + +## Installing the eCommerce Sample Data [painless-sample-data-install] + +1. Go to **Integrations** and search for **Sample Data**. +2. On the **Sample data** page, expand the **Other sample data sets**. + +3. Click **Add data** to install **Sample eCommerce orders**. + + +4. **Verify Installation:** Navigate to **Analytics \> Discover** and select the `kibana_sample_data_ecommerce` data view. You should see eCommerce order documents with complete customer, product, and transaction information. + + +## Sample document structure + +Here’s an example of a complete eCommerce order document with two products (basic T-shirt and boots): + +```json +{ + "order_id": 578286, + "order_date": "2025-08-13T16:53:46+00:00", + "type": "order", + "currency": "EUR", + "customer_id": 39, + "customer_full_name": "Kamal Brock", + "customer_first_name": "Kamal", + "customer_last_name": "Brock", + "customer_gender": "MALE", + "customer_phone": "", + "email": "kamal@brock-family.zzz", + "user": "kamal", + "day_of_week": "Wednesday", + "day_of_week_i": 2, + "geoip": { + "city_name": "Istanbul", + "region_name": "Istanbul", + "country_iso_code": "TR", + "continent_name": "Asia", + "location": { + "lat": 41, + "lon": 29 } - ``` - -2. Configure a script ingest processor that parses each document as {{es}} ingests the `seat` data. The following ingest script processes the `date` and `time` fields and stores the result in a `datetime` field: - - ```console - PUT /_ingest/pipeline/seats + }, + "category": [ + "Men's Clothing", + "Men's Shoes" + ], + "manufacturer": [ + "Elitelligence", + "Oceanavigations" + ], + "sku": [ + "ZO0548305483", + "ZO0256702567" + ], + "products": [ { - "description": "update datetime for seats", - "processors": [ - { - "script": { - "source": "String[] dateSplit = ctx.date.splitOnToken('-'); String year = dateSplit[0].trim(); String month = dateSplit[1].trim(); if (month.length() == 1) { month = '0' + month; } String day = dateSplit[2].trim(); if (day.length() == 1) { day = '0' + day; } boolean pm = ctx.time.substring(ctx.time.length() - 2).equals('PM'); String[] timeSplit = ctx.time.substring(0, ctx.time.length() - 2).splitOnToken(':'); int hours = Integer.parseInt(timeSplit[0].trim()); int minutes = Integer.parseInt(timeSplit[1].trim()); if (pm) { hours += 12; } String dts = year + '-' + month + '-' + day + 'T' + (hours < 10 ? '0' + hours : '' + hours) + ':' + (minutes < 10 ? '0' + minutes : '' + minutes) + ':00+08:00'; ZonedDateTime dt = ZonedDateTime.parse(dts, DateTimeFormatter.ISO_OFFSET_DATE_TIME); ctx.datetime = dt.getLong(ChronoField.INSTANT_SECONDS)*1000L;" - } - } - ] + "_id": "sold_product_578286_15939", + "product_id": 15939, + "product_name": "Basic T-shirt - khaki", + "category": "Men's Clothing", + "manufacturer": "Elitelligence", + "sku": "ZO0548305483", + "base_price": 7.99, + "base_unit_price": 7.99, + "price": 7.99, + "taxful_price": 7.99, + "taxless_price": 7.99, + "quantity": 1, + "discount_amount": 0, + "discount_percentage": 0, + "tax_amount": 0, + "created_on": "2016-12-21T16:53:46+00:00" + }, + { + "_id": "sold_product_578286_1844", + "product_id": 1844, + "product_name": "Boots - beige", + "category": "Men's Shoes", + "manufacturer": "Oceanavigations", + "sku": "ZO0256702567", + "base_price": 84.99, + "base_unit_price": 84.99, + "price": 84.99, + "taxful_price": 84.99, + "taxless_price": 84.99, + "quantity": 1, + "discount_amount": 0, + "discount_percentage": 0, + "tax_amount": 0, + "created_on": "2016-12-21T16:53:46+00:00" } - ``` - -3. Ingest some sample data using the `seats` ingest pipeline that you defined in the previous step. - - ```console - POST seats/_bulk?pipeline=seats&refresh=true - {"create":{"_index":"seats","_id":"1"}} - {"theatre":"Skyline","play":"Rent","actors":["James Holland","Krissy Smith","Joe Muir","Ryan Earns"],"date":"2021-4-1","time":"3:00PM","cost":37,"row":1,"number":7,"sold":false} - {"create":{"_index":"seats","_id":"2"}} - {"theatre":"Graye","play":"Rent","actors":["Dave Christmas"],"date":"2021-4-1","time":"3:00PM","cost":30,"row":3,"number":5,"sold":false} - {"create":{"_index":"seats","_id":"3"}} - {"theatre":"Graye","play":"Rented","actors":["Dave Christmas"],"date":"2021-4-1","time":"3:00PM","cost":33,"row":2,"number":6,"sold":false} - {"create":{"_index":"seats","_id":"4"}} - {"theatre":"Skyline","play":"Rented","actors":["James Holland","Krissy Smith","Joe Muir","Ryan Earns"],"date":"2021-4-1","time":"3:00PM","cost":20,"row":5,"number":2,"sold":false} - {"create":{"_index":"seats","_id":"5"}} - {"theatre":"Down Port","play":"Pick It Up","actors":["Joel Madigan","Jessica Brown","Baz Knight","Jo Hangum","Rachel Grass","Phoebe Miller"],"date":"2018-4-2","time":"8:00PM","cost":27.5,"row":3,"number":2,"sold":false} - {"create":{"_index":"seats","_id":"6"}} - {"theatre":"Down Port","play":"Harriot","actors":["Phoebe Miller","Sarah Notch","Brayden Green","Joshua Iller","Jon Hittle","Rob Kettleman","Laura Conrad","Simon Hower","Nora Blue","Mike Candlestick","Jacey Bell"],"date":"2018-8-7","time":"8:00PM","cost":30,"row":1,"number":10,"sold":false} - {"create":{"_index":"seats","_id":"7"}} - {"theatre":"Skyline","play":"Auntie Jo","actors":["Jo Hangum","Jon Hittle","Rob Kettleman","Laura Conrad","Simon Hower","Nora Blue"],"date":"2018-10-2","time":"5:40PM","cost":22.5,"row":7,"number":10,"sold":false} - {"create":{"_index":"seats","_id":"8"}} - {"theatre":"Skyline","play":"Test Run","actors":["Joe Muir","Ryan Earns","Joel Madigan","Jessica Brown"],"date":"2018-8-5","time":"7:30PM","cost":17.5,"row":11,"number":12,"sold":true} - {"create":{"_index":"seats","_id":"9"}} - {"theatre":"Skyline","play":"Sunnyside Down","actors":["Krissy Smith","Joe Muir","Ryan Earns","Nora Blue","Mike Candlestick","Jacey Bell"],"date":"2018-6-12","time":"4:00PM","cost":21.25,"row":8,"number":15,"sold":true} - {"create":{"_index":"seats","_id":"10"}} - {"theatre":"Graye","play":"Line and Single","actors":["Nora Blue","Mike Candlestick"],"date":"2018-6-5","time":"2:00PM","cost":30,"row":1,"number":2,"sold":false} - {"create":{"_index":"seats","_id":"11"}} - {"theatre":"Graye","play":"Hamilton","actors":["Lin-Manuel Miranda","Leslie Odom Jr."],"date":"2018-6-5","time":"2:00PM","cost":5000,"row":1,"number":20,"sold":true} - ``` - - + ], + "taxful_total_price": 92.98, + "taxless_total_price": 92.98, + "total_quantity": 2, + "total_unique_products": 2, + "event": { + "dataset": "sample_ecommerce" + } +} +``` + +## Field Reference + +* **Order information** + + `order_id` ([`keyword`](/reference/elasticsearch/mapping-reference/keyword.md)): Unique identifier for each order. + + `order_date` ([`date`](/reference/elasticsearch/mapping-reference/date.md)): Timestamp when the order was placed. + + `type` ([`keyword`](/reference/elasticsearch/mapping-reference/keyword.md)): Document type (always "order"). + + `currency` ([`keyword`](/reference/elasticsearch/mapping-reference/keyword.md)): Transaction currency (EUR, USD, etc.). + +* **Customer information** + + `customer_id` ([`keyword`](/reference/elasticsearch/mapping-reference/keyword.md)): Unique customer identifier. + + `customer_full_name` ([`text`](/reference/elasticsearch/mapping-reference/text.md)): Complete customer name with keyword subfield. + + `customer_first_name` ([`text`](/reference/elasticsearch/mapping-reference/text.md)): Customer's first name with keyword subfield. + + `customer_last_name` ([`text`](/reference/elasticsearch/mapping-reference/text.md)): Customer's last name with keyword subfield. + + `customer_gender` ([`keyword`](/reference/elasticsearch/mapping-reference/keyword.md)): Customer gender (MALE, FEMALE). + + `email` ([`keyword`](/reference/elasticsearch/mapping-reference/keyword.md)): Customer email address. + + `user` ([`keyword`](/reference/elasticsearch/mapping-reference/keyword.md)): Username derived from customer name. + +* **Geographic Information** + + `geoip.city_name` ([`keyword`](/reference/elasticsearch/mapping-reference/keyword.md)): City where the order was placed. + + `geoip.continent_name` ([`keyword`](/reference/elasticsearch/mapping-reference/keyword.md)): Continent of order origin. + + `geoip.country_iso_code` ([`keyword`](/reference/elasticsearch/mapping-reference/keyword.md)): Two-letter country code. + + `geoip.location` ([`geo_point`](/reference/elasticsearch/mapping-reference/geo-point.md)): Geographic coordinates of order location. + + `geoip.region_name` ([`keyword`](/reference/elasticsearch/mapping-reference/keyword.md)): State or region name. + +* **Order timing** + + `day_of_week` ([`keyword`](/reference/elasticsearch/mapping-reference/keyword.md)): Day when the order was placed (Monday, Tuesday, etc.). + + `day_of_week_i` ([`integer`](/reference/elasticsearch/mapping-reference/number.md)): Numeric day of week (0-6). + +* **Product information** + + `category` ([`text`](/reference/elasticsearch/mapping-reference/text.md)): Primary product categories with keyword subfield. + + `manufacturer` ([`text`](/reference/elasticsearch/mapping-reference/text.md)): Manufacturer names with keyword subfield. + + `sku` ([`keyword`](/reference/elasticsearch/mapping-reference/keyword.md)): Stock Keeping Unit codes. + + `products.product_name` ([`text`](/reference/elasticsearch/mapping-reference/text.md)): Product names (comma-separated for multiple products). + + `products.product_id` ([`long`](/reference/elasticsearch/mapping-reference/number.md)): Product identifiers. + + `products._id` ([`text`](/reference/elasticsearch/mapping-reference/text.md)): Internal product identifiers with keyword subfield. + + `products.sku` ([`keyword`](/reference/elasticsearch/mapping-reference/keyword.md)): Product-specific SKU codes. + + `products.category` ([`text`](/reference/elasticsearch/mapping-reference/text.md)): Individual product categories with keyword subfield. + + `products.manufacturer` ([`text`](/reference/elasticsearch/mapping-reference/text.md)): Product-specific manufacturers with keyword subfield. + + `products.created_on` ([`date`](/reference/elasticsearch/mapping-reference/date.md)): Product catalog creation dates. + + `products.quantity` ([`integer`](/reference/elasticsearch/mapping-reference/number.md)): Quantity of each product ordered. + +* **Pricing and financial information** + + `products.base_price` ([`half_float`](/reference/elasticsearch/mapping-reference/number.md)): Original product prices before discounts. + + `products.base_unit_price` ([`half_float`](/reference/elasticsearch/mapping-reference/number.md)): Base price per unit. + + `products.price` ([`half_float`](/reference/elasticsearch/mapping-reference/number.md)): Final product prices. + + `products.min_price` ([`half_float`](/reference/elasticsearch/mapping-reference/number.md)): Minimum price thresholds. + + `products.discount_amount` ([`half_float`](/reference/elasticsearch/mapping-reference/number.md)): Discount amounts applied. + + `products.discount_percentage` ([`half_float`](/reference/elasticsearch/mapping-reference/number)) : Percentage discounts applied. + + `products.unit_discount_amount` ([`half_float`](/reference/elasticsearch/mapping-reference/number.md)): Discount amount per unit. + + `products.tax_amount` ([`half_float`](/reference/elasticsearch/mapping-reference/number.md)): Tax amounts for products. + + `products.taxful_price` ([`half_float`](/reference/elasticsearch/mapping-reference/number.md)): Product prices including tax. + + `products.taxless_price` ([`half_float`](/reference/elasticsearch/mapping-reference/number.md)): Product prices excluding tax. + + `taxful_total_price` ([`half_float`](/reference/elasticsearch/mapping-reference/number.md)): Total order amount including tax. + + `taxless_total_price` ([`half_float`](/reference/elasticsearch/mapping-reference/number.md)): Total order amount excluding tax. + +* **Order summary** + + `total_quantity` ([`integer`](/reference/elasticsearch/mapping-reference/number.md)): Total items in the order. + + `total_unique_products` ([`integer`](/reference/elasticsearch/mapping-reference/number.md)): Number of different products in the order. + +* **Metadata** + + `event.dataset` ([`keyword`](/reference/elasticsearch/mapping-reference/keyword.md)): Dataset identifier ("sample\_ecommerce"). diff --git a/docs/reference/scripting-languages/painless/painless-contexts.md b/docs/reference/scripting-languages/painless/painless-contexts.md index 06838f3ee53a5..0ac0911a9e431 100644 --- a/docs/reference/scripting-languages/painless/painless-contexts.md +++ b/docs/reference/scripting-languages/painless/painless-contexts.md @@ -10,37 +10,79 @@ products: # Painless contexts [painless-contexts] -A Painless script is evaluated within a context. Each context has values that are available as local variables, an allowlist that controls the available classes, and the methods and fields within those classes (API), and if and what type of value is returned. +**In Painless, a context defines where and how your script runs within {{es}}**. Each context determines three key aspects: which variables are available to your script (such as `doc`, `ctx`, or `_source`), which Java classes and methods your script can access for security, and what type of value your script should return. -Painless scripts typically run within one of the contexts in the following table. Before using a Painless context, [configure the example data](/reference/scripting-languages/painless/painless-context-examples.md). Each context example is configured to operate on this data. +## What are contexts? -| Name | Painless Documentation | Elasticsearch Documentation | -| --- | --- | --- | -| Runtime field | [Painless Documentation](/reference/scripting-languages/painless/painless-runtime-fields-context.md) | [Elasticsearch Documentation](docs-content://manage-data/data-store/mapping/runtime-fields.md) | -| Ingest processor | [Painless Documentation](/reference/scripting-languages/painless/painless-ingest-processor-context.md) | [Elasticsearch Documentation](/reference/enrich-processor/script-processor.md) | -| Update | [Painless Documentation](/reference/scripting-languages/painless/painless-update-context.md) | [Elasticsearch Documentation](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-update) | -| Update by query | [Painless Documentation](/reference/scripting-languages/painless/painless-update-by-query-context.md) | [Elasticsearch Documentation](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-update-by-query) | -| Reindex | [Painless Documentation](/reference/scripting-languages/painless/painless-reindex-context.md) | [Elasticsearch Documentation](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-reindex) | -| Sort | [Painless Documentation](/reference/scripting-languages/painless/painless-sort-context.md) | [Elasticsearch Documentation](/reference/elasticsearch/rest-apis/sort-search-results.md) | -| Similarity | [Painless Documentation](/reference/scripting-languages/painless/painless-similarity-context.md) | [Elasticsearch Documentation](/reference/elasticsearch/index-settings/similarity.md) | -| Weight | [Painless Documentation](/reference/scripting-languages/painless/painless-weight-context.md) | [Elasticsearch Documentation](/reference/elasticsearch/index-settings/similarity.md) | -| Score | [Painless Documentation](/reference/scripting-languages/painless/painless-score-context.md) | [Elasticsearch Documentation](/reference/query-languages/query-dsl/query-dsl-function-score-query.md) | -| Field | [Painless Documentation](/reference/scripting-languages/painless/painless-field-context.md) | [Elasticsearch Documentation](/reference/elasticsearch/rest-apis/retrieve-selected-fields.md#script-fields) | -| Filter | [Painless Documentation](/reference/scripting-languages/painless/painless-filter-context.md) | [Elasticsearch Documentation](/reference/query-languages/query-dsl/query-dsl-script-query.md) | -| Minimum should match | [Painless Documentation](/reference/scripting-languages/painless/painless-min-should-match-context.md) | [Elasticsearch Documentation](/reference/query-languages/query-dsl/query-dsl-terms-set-query.md) | -| Metric aggregation initialization | [Painless Documentation](/reference/scripting-languages/painless/painless-metric-agg-init-context.md) | [Elasticsearch Documentation](/reference/aggregations/search-aggregations-metrics-scripted-metric-aggregation.md) | -| Metric aggregation map | [Painless Documentation](/reference/scripting-languages/painless/painless-metric-agg-map-context.md) | [Elasticsearch Documentation](/reference/aggregations/search-aggregations-metrics-scripted-metric-aggregation.md) | -| Metric aggregation combine | [Painless Documentation](/reference/scripting-languages/painless/painless-metric-agg-combine-context.md) | [Elasticsearch Documentation](/reference/aggregations/search-aggregations-metrics-scripted-metric-aggregation.md) | -| Metric aggregation reduce | [Painless Documentation](/reference/scripting-languages/painless/painless-metric-agg-reduce-context.md) | [Elasticsearch Documentation](/reference/aggregations/search-aggregations-metrics-scripted-metric-aggregation.md) | -| Bucket script aggregation | [Painless Documentation](/reference/scripting-languages/painless/painless-bucket-script-agg-context.md) | [Elasticsearch Documentation](/reference/aggregations/search-aggregations-pipeline-bucket-script-aggregation.md) | -| Bucket selector aggregation | [Painless Documentation](/reference/scripting-languages/painless/painless-bucket-selector-agg-context.md) | [Elasticsearch Documentation](/reference/aggregations/search-aggregations-pipeline-bucket-selector-aggregation.md) | -| Watcher condition | [Painless Documentation](/reference/scripting-languages/painless/painless-watcher-condition-context.md) | [Elasticsearch Documentation](docs-content://explore-analyze/alerts-cases/watcher/condition-script.md) | -| Watcher transform | [Painless Documentation](/reference/scripting-languages/painless/painless-watcher-transform-context.md) | [Elasticsearch Documentation](docs-content://explore-analyze/alerts-cases/watcher/transform-script.md) | +Contexts are runtime environments that determine script behavior within specific {{es}} operations. Unlike traditional scripting languages, where code runs consistently everywhere, Painless scripts are context-aware, the same syntax can access different variables and produce different results depending on the {{es}} operation that calls it. +## How contexts work +Painless supports scripting across numerous {{es}} operations, from search scoring to document processing to aggregation calculations. Each operation requires different capabilities; search scripts need read-only field access, while ingest scripts need document modification abilities. This diversity of requirements creates the need for specialized contexts. +Contexts ensure appropriate access and capabilities for each {{es}} operation while maintaining security and performance by providing exactly the inputs and APIs needed for a specific task through fine-grained allowlists and optimized data access patterns. +For example, search scoring contexts provide document fields as input and generate numerical scores as output, while ingest contexts provide documents as input for modification and generate transformed documents as output. Even if some contexts appear similar, each one has its specific tools and restrictions designed for its intended purpose. +## Context and data access + +Contexts directly determine how you can access document data in Painless scripts: + +* **`doc` values:** Read-only field access using columnar storage for search, aggregation, and sorting context +* **`ctx` access:** Document modification capabilities in update, ingest, and reindex context +* **`_source` access:** Complete document JSON for runtime fields and transformations +* **`params`**: User-defined parameters passed into scripts, available across all contexts + +For detailed data access patterns and examples, refer to Painless syntax-context bridge. + +## Context Categories overview + +While Painless supports more than twenty specific contexts, they operate within four categories. + +**Document Processing** +: Transform and extract data from existing documents without modifying the original content. Use runtime fields, ingest processors, and field scripts to create computed fields or parse log data. + +**Document Modification** +: Change or update document context permanently in the index. Use update scripts, update by query, and reindex scripts to modify fields or restructure documents. + +**Search Enhancement** +: Customize search behavior, scoring, or sorting without changing the indexed documents. Use filter scripts, and sort scripts for custom relevance or dynamic filtering. + +**Advanced Operations** +: Implement specialized functionality such as custom aggregations or monitoring conditions. Use metric aggregation, bucket aggregation, and Watcher scripts for complex calculations and alerting. + +## Painless context reference + +| Name | Painless documentation | {{es}} documentation | +| :---- | :---- | :---- | +| Runtime field | [Painless documentation](/reference/scripting-languages/painless/painless-runtime-fields-context.md) | [{{es}} documentation](docs-content://manage-data/data-store/mapping/runtime-fields.md) | +| Field | [Painless documentation](/reference/scripting-languages/painless/painless-field-context.md) | [{{es}} documentation](/reference/elasticsearch/rest-apis/retrieve-selected-fields.md#script-fields) | +| Ingest processor | [Painless documentation](/reference/scripting-languages/painless/painless-ingest-processor-context.md) | [{{es}} documentation](/reference/enrich-processor/script-processor.md) | +| Filter | [Painless documentation](/reference/scripting-languages/painless/painless-filter-context.md) | [{{es}} documentation](/reference/query-languages/query-dsl/query-dsl-script-query.md) | +| Score | [Painless documentation](/reference/scripting-languages/painless/painless-score-context.md) | [{{es}} documentation](/reference/query-languages/query-dsl/query-dsl-function-score-query.md) | +| Sort | [Painless documentation](/reference/scripting-languages/painless/painless-sort-context.md) | [{{es}} documentation](/reference/elasticsearch/rest-apis/sort-search-results.md) | +| Update | [Painless documentation](/reference/scripting-languages/painless/painless-update-context.md) | [{{es}} documentation](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-update) | +| Update by query | [Painless documentation](/reference/scripting-languages/painless/painless-update-by-query-context.md) | [{{es}} documentation](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-update-by-query) | +| Reindex | [Painless documentation](/reference/scripting-languages/painless/painless-reindex-context.md) | [{{es}} documentation](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-reindex) | +| Similarity | [Painless documentation](/reference/scripting-languages/painless/painless-similarity-context.md) | [{{es}} documentation](/reference/elasticsearch/index-settings/similarity.md) | +| Weight | [Painless documentation](/reference/scripting-languages/painless/painless-weight-context.md) | [{{es}} documentation](/reference/elasticsearch/index-settings/similarity.md) | +| Minimum should match | [Painless documentation](/reference/scripting-languages/painless/painless-min-should-match-context.md) | [{{es}} documentation](/reference/query-languages/query-dsl/query-dsl-terms-set-query.md) | +| Metric aggregation initialization | [Painless documentation](/reference/scripting-languages/painless/painless-metric-agg-init-context.md) | [{{es}} documentation](/reference/aggregations/search-aggregations-metrics-scripted-metric-aggregation.md) | +| Metric aggregation map | [Painless documentation](/reference/scripting-languages/painless/painless-metric-agg-map-context.md) | [{{es}} documentation](/reference/aggregations/search-aggregations-metrics-scripted-metric-aggregation.md) | +| Metric aggregation combine | [Painless documentation](/reference/scripting-languages/painless/painless-metric-agg-combine-context.md) | [{{es}} documentation](/reference/aggregations/search-aggregations-metrics-scripted-metric-aggregation.md) | +| Metric aggregation reduce | [Painless documentation](/reference/scripting-languages/painless/painless-metric-agg-reduce-context.md) | [{{es}} documentation](/reference/aggregations/search-aggregations-metrics-scripted-metric-aggregation.md) | +| Bucket script aggregation | [Painless documentation](/reference/scripting-languages/painless/painless-bucket-script-agg-context.md) | [{{es}} documentation](/reference/aggregations/search-aggregations-pipeline-bucket-script-aggregation.md) | +| Bucket selector aggregation | [Painless documentation](/reference/scripting-languages/painless/painless-bucket-selector-agg-context.md) | [{{es}} documentation](/reference/aggregations/search-aggregations-pipeline-bucket-selector-aggregation.md) | +| Watcher condition | [Painless documentation](/reference/scripting-languages/painless/painless-watcher-condition-context.md) | [{{es}} documentation](docs-content://explore-analyze/alerts-cases/watcher/condition-script.md) | +| Watcher transform | [Painless documentation](/reference/scripting-languages/painless/painless-watcher-transform-context.md) | [{{es}} documentation](docs-content://explore-analyze/alerts-cases/watcher/transform-script.md) | + +## Next steps + +* **Most common context:** Start with [Field context](/reference/scripting-languages/painless/painless-field-context.md) or [Runtime field context](/reference/scripting-languages/painless/painless-runtime-fields-context.md) for data extraction and transformation. +* **Data access patterns:** Review Painless syntax-context bridge for `doc`, `ctx`, and `_source` usage examples. +* **Step-by-step tutorials**: refer to [How to write Painless scripts](docs-content://explore-analyze/scripting/modules-scripting-using.md) and our [Painless tutorials](docs-content://explore-analyze/scripting/common-script-uses.md) in the Explore and Analyze section. + +Before using a Painless context, [configure the example data](/reference/scripting-languages/painless/painless-context-examples.md). Each context example is configured to operate on this data. diff --git a/docs/reference/scripting-languages/painless/painless-field-context.md b/docs/reference/scripting-languages/painless/painless-field-context.md index 84dccfe901b66..6c73866f6e13e 100644 --- a/docs/reference/scripting-languages/painless/painless-field-context.md +++ b/docs/reference/scripting-languages/painless/painless-field-context.md @@ -12,7 +12,11 @@ products: Use a Painless script to create a [script field](/reference/elasticsearch/rest-apis/retrieve-selected-fields.md#script-fields) to return a customized value for each document in the results of a query. -**Variables** +:::{tip} +To create dynamic fields with more capabilities, consider using [runtime fields](docs-content://manage-data/data-store/mapping/runtime-fields.md) instead. Runtime fields can be used in the query phase to select documents and in aggregations, while script fields only work during the fetch phase to decorate already selected results. +::: + +## Variables `params` (`Map`, read-only) : User-defined parameters passed in as part of the query. @@ -23,101 +27,106 @@ Use a Painless script to create a [script field](/reference/elasticsearch/rest-a [`params['_source']`](/reference/elasticsearch/mapping-reference/mapping-source-field.md) (`Map`, read-only) : Contains extracted JSON in a `Map` and `List` structure for the fields existing in a stored document. -**Return** +## Return `Object` : The customized value for each document. -**API** - -Both the standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared.html) and [Specialized Field API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-field.html) are available. +## API -**Example** +Both the standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared.html) and specialized [Field API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-field.html) are available. -To run this example, first follow the steps in [context examples](/reference/scripting-languages/painless/painless-context-examples.md). +## Example -You can then use these two example scripts to compute custom information for each search hit and output it to two new fields. +To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). -The first script gets the doc value for the `datetime` field and calls the `getDayOfWeekEnum` function to determine the corresponding day of the week. +The first script extracts the day index from the `day_of_week_i` field to determine whether the order was placed on a weekday or during the weekend: -```painless -doc['datetime'].value.getDayOfWeekEnum().getDisplayName(TextStyle.FULL, Locale.ROOT) +```java +doc['day_of_week_i'].value >= 5 ? 'Weekend' : 'Weekday' ``` -The second script calculates the number of actors. Actors' names are stored as a keyword array in the `actors` field. +The second script evaluates the `total_quantity` field to classify the order size: -```painless -doc['actors'].size() <1> -``` +```java +long tq = doc['total_quantity'].value; -1. By default, doc values are not available for `text` fields. If `actors` was a `text` field, you could still calculate the number of actors by extracting values from `_source` with `params['_source']['actors'].size()`. +if (tq == 1) return 'Single Item'; +if (tq <= 3) return 'Small Order'; +if (tq <= 6) return 'Medium Order'; +return 'Large Order'; +``` -The following request returns the calculated day of week and the number of actors that appear in each play: +The following request uses both scripts to categorize each order by the day it was placed and by its size: -```console -GET seats/_search +```json +GET kibana_sample_data_ecommerce/_search { - "size": 2, + "size": 1, "query": { "match_all": {} }, "script_fields": { - "day-of-week": { + "is_weekend_shopper": { "script": { - "source": "doc['datetime'].value.getDayOfWeekEnum().getDisplayName(TextStyle.FULL, Locale.ENGLISH)" + "source": "doc['day_of_week_i'].value >= 5 ? 'Weekend' : 'Weekday'" } }, - "number-of-actors": { + "order_size_category": { "script": { - "source": "doc['actors'].size()" + "source": """ + long qty = doc['total_quantity'].value; + + if (qty == 1) return 'Single Item'; + if (qty <= 3) return 'Small Order'; + if (qty <= 6) return 'Medium Order'; + + return 'Large Order'; + """ } } - } + }, + "fields": ["day_of_week_i", "total_quantity"] } ``` -% TEST[setup:seats] -```console-result -{ - "took" : 68, - "timed_out" : false, - "_shards" : { - "total" : 1, - "successful" : 1, - "skipped" : 0, - "failed" : 0 +Response: + +```json + + { + "took": 0, + "timed_out": false, + "_shards": { + "total": 1, + "successful": 1, + "skipped": 0, + "failed": 0 }, - "hits" : { - "total" : { - "value" : 11, - "relation" : "eq" + "hits": { + "total": { + "value": 4675, + "relation": "eq" }, - "max_score" : 1.0, - "hits" : [ + "max_score": 1, + "hits": [ { - "_index" : "seats", - "_id" : "1", - "_score" : 1.0, - "fields" : { - "day-of-week" : [ - "Thursday" + "_index": "kibana_sample_data_ecommerce", + "_id": "ZkUZjJgBMSQotAoT_Jcg", + "_score": 1, + "fields": { + "order_size_category": [ + "Small Order" + ], + "is_weekend_shopper": [ + "Weekday" ], - "number-of-actors" : [ + "day_of_week_i": [ 4 - ] - } - }, - { - "_index" : "seats", - "_id" : "2", - "_score" : 1.0, - "fields" : { - "day-of-week" : [ - "Thursday" ], - "number-of-actors" : [ - 1 + "total_quantity": [ + 2 ] } } @@ -125,5 +134,4 @@ GET seats/_search } } ``` -% TESTRESPONSE[s/"took" : 68/"took" : "$body.took"/] diff --git a/docs/reference/scripting-languages/painless/painless-filter-context.md b/docs/reference/scripting-languages/painless/painless-filter-context.md index 71286eee661bc..350310c6de11c 100644 --- a/docs/reference/scripting-languages/painless/painless-filter-context.md +++ b/docs/reference/scripting-languages/painless/painless-filter-context.md @@ -12,7 +12,7 @@ products: Use a Painless script as a [filter](/reference/query-languages/query-dsl/query-dsl-script-query.md) in a query to include and exclude documents. -**Variables** +## Variables `params` (`Map`, read-only) : User-defined parameters passed in as part of the query. @@ -20,38 +20,38 @@ Use a Painless script as a [filter](/reference/query-languages/query-dsl/query-d `doc` (`Map`, read-only) : Contains the fields of the current document where each field is a `List` of values. -**Return** +## Return `boolean` : Return `true` if the current document should be returned as a result of the query, and `false` otherwise. -**API** +## API The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared.html) is available. -**Example** +## Example -To run this example, first follow the steps in [context examples](/reference/scripting-languages/painless/painless-context-examples.md). +To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). -This script finds all unsold documents that cost less than $25. +This example filters documents where the average price per item in an order exceeds a minimum threshold of 30\. -```painless -doc['sold'].value == false && doc['cost'].value < 25 -``` - -Defining `cost` as a script parameter enables the cost to be configured in the script query request. For example, the following request finds all available theatre seats for evening performances that are under $25. +:::{tip} +Filters answer the question “Does this document match?” with the simple “Yes or No” response. Use filter context for all conditions that don’t need scoring. Refer to [Query and filter context](/reference/query-languages/query-dsl/query-filter-context.md) to learn more. +::: -```console -GET seats/_search +```json +GET kibana_sample_data_ecommerce/_search { "query": { "bool": { "filter": { "script": { "script": { - "source": "doc['sold'].value == false && doc['cost'].value < params.cost", + "source": """ + (doc['taxful_total_price'].value / doc['total_quantity'].value) > params.min_avg_price + """, "params": { - "cost": 25 + "min_avg_price": 30 } } } @@ -60,4 +60,3 @@ GET seats/_search } } ``` -% TEST[setup:seats] diff --git a/docs/reference/scripting-languages/painless/painless-ingest-processor-context.md b/docs/reference/scripting-languages/painless/painless-ingest-processor-context.md index 52e9dabf1a4ba..89bf2981fa716 100644 --- a/docs/reference/scripting-languages/painless/painless-ingest-processor-context.md +++ b/docs/reference/scripting-languages/painless/painless-ingest-processor-context.md @@ -12,7 +12,23 @@ products: Use a Painless script in an [ingest processor](/reference/enrich-processor/script-processor.md) to modify documents upon insertion. -**Variables** +The ingest processor context enables document transformation during the indexing process, allowing you to enrich, modify, or restructure data before it’s stored in {{es}}. +Painless scripts run as script processors within ingest pipelines that support script execution. + +Ingest pipelines consist of multiple processors that can transform documents sequentially. The script processor allows Painless scripts to access and modify document fields using the `ctx` variable during this transformation process. + +## Processing workflow + +The pipelines processing proceeds through four steps. + +* Documents enter the ingest pipeline. +* Each processor transforms the document according to its configuration. +* Script processors execute Painless code to perform custom transformations. +* Modified documents are indexed into {{es}}. + +For more information refer to [{{es}} ingest pipelines](docs-content://manage-data/ingest/transform-enrich/ingest-pipelines.md). You can also check the troubleshooting guide for help with ingest pipelines failures. + +## Variables `params` (`Map`, read-only) : User-defined parameters passed in as part of the query. @@ -23,7 +39,7 @@ Use a Painless script in an [ingest processor](/reference/enrich-processor/scrip `ctx` (`Map`) : Contains extracted JSON in a `Map` and `List` structure for the fields that are part of the document. -**Side Effects** +## Side Effects [`ctx['_index']`](/reference/elasticsearch/mapping-reference/mapping-index-field.md) : Modify this to change the destination index for the current document. @@ -31,94 +47,44 @@ Use a Painless script in an [ingest processor](/reference/enrich-processor/scrip `ctx` (`Map`) : Modify the values in the `Map/List` structure to add, modify, or delete the fields of a document. -**Return** +## Return void : No expected return value. -**API** - -Both the standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared.html) and [Specialized Ingest API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-ingest.html) are available. - -**Example** - -To run this example, first follow the steps in [context examples](/reference/scripting-languages/painless/painless-context-examples.md). - -The seat data contains: - -* A date in the format `YYYY-MM-DD` where the second digit of both month and day is optional. -* A time in the format HH:MM* where the second digit of both hours and minutes is optional. The star (*) represents either the `String` `AM` or `PM`. - -The following ingest script processes the date and time `Strings` and stores the result in a `datetime` field. - -```painless -String[] dateSplit = ctx.date.splitOnToken("-"); <1> -String year = dateSplit[0].trim(); -String month = dateSplit[1].trim(); +## API -if (month.length() == 1) { <2> - month = "0" + month; -} - -String day = dateSplit[2].trim(); +Both the standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared.html) and specialized [Field API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-field.html) are available. -if (day.length() == 1) { <3> - day = "0" + day; -} +## Example -boolean pm = ctx.time.substring(ctx.time.length() - 2).equals("PM"); <4> -String[] timeSplit = ctx.time.substring(0, - ctx.time.length() - 2).splitOnToken(":"); <5> -int hours = Integer.parseInt(timeSplit[0].trim()); -int minutes = Integer.parseInt(timeSplit[1].trim()); +To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). -if (pm) { <6> - hours += 12; -} +The following example demonstrates how to use a script inside an ingest pipeline to create a new field named `custom_region_code`. This field combines the `geoip.country_iso_code` and the first two uppercase letters of `geoip.continent_name`. -String dts = year + "-" + month + "-" + day + "T" + - (hours < 10 ? "0" + hours : "" + hours) + ":" + - (minutes < 10 ? "0" + minutes : "" + minutes) + - ":00+08:00"; <7> - -ZonedDateTime dt = ZonedDateTime.parse( - dts, DateTimeFormatter.ISO_OFFSET_DATE_TIME); <8> -ctx.datetime = dt.getLong(ChronoField.INSTANT_SECONDS)*1000L; <9> +```java +String country = ctx.geoip.country_iso_code; + +ctx.custom_region_code = country + '_' + ctx.geoip.continent_name.substring(0,2).toUpperCase(); ``` -1. Uses the `splitOnToken` function to separate the date `String` from the seat data into year, month, and day `Strings`. - NOTE : The use of the `ctx` ingest processor context variable to retrieve the data from the `date` field. - -2. Appends the [string literal](/reference/scripting-languages/painless/painless-literals.md#string-literals) `"0"` value to a single digit month since the format of the seat data allows for this case. -3. Appends the [string literal](/reference/scripting-languages/painless/painless-literals.md#string-literals) `"0"` value to a single digit day since the format of the seat data allows for this case. -4. Sets the [`boolean type`](/reference/scripting-languages/painless/painless-types.md#primitive-types) [variable](/reference/scripting-languages/painless/painless-variables.md) to `true` if the time `String` is a time in the afternoon or evening. - NOTE: The use of the `ctx` ingest processor context variable to retrieve the data from the `time` field. - -5. Uses the `splitOnToken` function to separate the time `String` from the seat data into hours and minutes `Strings`. - NOTE: The use of the `substring` method to remove the `AM` or `PM` portion of the time `String`. The use of the `ctx` ingest processor context variable to retrieve the data from the `date` field. +The following request runs during ingestion time and uses the `ctx` object to access and modify the document fields. -6. If the time `String` is an afternoon or evening value adds the [integer literal](/reference/scripting-languages/painless/painless-literals.md#integer-literals) `12` to the existing hours to move to a 24-hour based time. -7. Builds a new time `String` that is parsable using existing API methods. -8. Creates a `ZonedDateTime` [reference type](/reference/scripting-languages/painless/painless-types.md#reference-types) value by using the API method `parse` to parse the new time `String`. -9. Sets the datetime field `datetime` to the number of milliseconds retrieved from the API method `getLong`. - NOTEL The use of the `ctx` ingest processor context variable to set the field `datetime`. Manipulate each document’s fields with the `ctx` variable as each document is indexed. - - - - -Submit the following request: - -```console -PUT /_ingest/pipeline/seats +```json +PUT /_ingest/pipeline/kibana_sample_data_ecommerce-custom_region_code { - "description": "update datetime for seats", + "description": "generate region code from country and continent name for kibana_sample_data_ecommerce dataset", "processors": [ { "script": { - "source": "String[] dateSplit = ctx.date.splitOnToken('-'); String year = dateSplit[0].trim(); String month = dateSplit[1].trim(); if (month.length() == 1) { month = '0' + month; } String day = dateSplit[2].trim(); if (day.length() == 1) { day = '0' + day; } boolean pm = ctx.time.substring(ctx.time.length() - 2).equals('PM'); String[] timeSplit = ctx.time.substring(0, ctx.time.length() - 2).splitOnToken(':'); int hours = Integer.parseInt(timeSplit[0].trim()); int minutes = Integer.parseInt(timeSplit[1].trim()); if (pm) { hours += 12; } String dts = year + '-' + month + '-' + day + 'T' + (hours < 10 ? '0' + hours : '' + hours) + ':' + (minutes < 10 ? '0' + minutes : '' + minutes) + ':00+08:00'; ZonedDateTime dt = ZonedDateTime.parse(dts, DateTimeFormatter.ISO_OFFSET_DATE_TIME); ctx.datetime = dt.getLong(ChronoField.INSTANT_SECONDS)*1000L;" + "lang": "painless", + "source": """ + String country = ctx.geoip.country_iso_code; + + ctx.custom_region_code = country + '_' + ctx.geoip.continent_name.substring(0,2).toUpperCase(); + """ } } ] } ``` - diff --git a/docs/reference/scripting-languages/painless/painless-operators-array.md b/docs/reference/scripting-languages/painless/painless-operators-array.md index 121142773f118..482e9263ed88f 100644 --- a/docs/reference/scripting-languages/painless/painless-operators-array.md +++ b/docs/reference/scripting-languages/painless/painless-operators-array.md @@ -14,7 +14,7 @@ products: Use the `array initialization operator '[] {}'` to allocate a single-dimensional [array type](/reference/scripting-languages/painless/painless-types.md#array-type) instance to the heap with a set of pre-defined elements. Each value used to initialize an element in the array type instance is cast to the specified element type value upon insertion. The order of specified values is maintained. -% For help with troubleshooting, refer to [Array/List manipulation errors](docs-content://https://github.com/elastic/docs-content/troubleshoot/elasticsearch/painless-array-list-manipulation-errors.md). +% For help with troubleshooting, refer to [Array/List manipulation errors](docs-content://troubleshoot/elasticsearch/painless-array-list-manipulation-errors.md). **Errors** diff --git a/docs/reference/scripting-languages/painless/painless-runtime-fields-context.md b/docs/reference/scripting-languages/painless/painless-runtime-fields-context.md index 6c7d9ba993f0f..5d6089a579a26 100644 --- a/docs/reference/scripting-languages/painless/painless-runtime-fields-context.md +++ b/docs/reference/scripting-languages/painless/painless-runtime-fields-context.md @@ -12,9 +12,11 @@ products: Use a Painless script to calculate and emit [runtime field](/reference/scripting-languages/painless/use-painless-scripts-in-runtime-fields.md) values. -See the [runtime fields](docs-content://manage-data/data-store/mapping/runtime-fields.md) documentation for more information about how to use runtime fields. +Runtime fields are dynamic fields that are calculated at query time rather than being indexed. This approach provides flexibility for data exploration and field creation without requiring reindexing, though it comes with performance trade-offs compared to indexed fields. -**Methods** +For comprehensive information about runtime field implementation and use cases, refer to the [runtime fields documentation](docs-content://manage-data/data-store/mapping/runtime-fields.md). You can also check the troubleshooting guide for help with runtime field exceptions. + +## Methods $$$runtime-emit-method$$$ @@ -73,7 +75,7 @@ $$$runtime-emit-method$$$ :::: -**Variables** +## Variables `params` (`Map`, read-only) : User-defined parameters passed in as part of the query. @@ -84,97 +86,105 @@ $$$runtime-emit-method$$$ [`params['_source']`](/reference/elasticsearch/mapping-reference/mapping-source-field.md) (`Map`, read-only) : Contains extracted JSON in a `Map` and `List` structure for the fields existing in a stored document. -**Return** +## Return `void` : No expected return value. -**API** +## API -Both the standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared.html) and [Specialized Field API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-field.html) are available. +Both the standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared.html) and specialized [Field API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-field.html) are available. -**Example** +## Example -To run the examples, first follow the steps in [context examples](/reference/scripting-languages/painless/painless-context-examples.md). +To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). -Then, run the following request to define a runtime field named `day_of_week`. This field contains a script with the same `source` defined in [Field context](/reference/scripting-languages/painless/painless-field-context.md), but also uses an `emit` function that runtime fields require when defining a Painless script. +Run the following request to define a runtime field named `full_day_name`. This field contains a script that extracts the day of the week from the `order_date` field and assigns the full day name using the `dayOfWeekEnum` enumeration. The script uses the `emit` function, which is required for runtime fields. -Because `day_of_week` is a runtime field, it isn’t indexed, and the included script only runs at query time: +Because `full_day_name` is a runtime field, it isn’t indexed, and the script runs dynamically at query time: -```console -PUT seats/_mapping +```json +PUT kibana_sample_data_ecommerce/_mapping { "runtime": { - "day_of_week": { + "full_day_name": { "type": "keyword", "script": { - "source": "emit(doc['datetime'].value.getDayOfWeekEnum().toString())" + "source": """emit(doc['order_date'].value.dayOfWeekEnum.getDisplayName(TextStyle.FULL, Locale.ROOT)); + """ } } } } ``` -% TEST[setup:seats] -After defining the runtime field and script in the mappings, you can run a query that includes a terms aggregation for `day_of_week`. When the query runs, {{es}} evaluates the included Painless script and dynamically generates a value based on the script definition: +After defining the runtime field, you can run a query that includes a `terms` aggregation for `full_day_name`. At search time, {{es}} executes the script to dynamically calculate the value for each document: -```console -GET seats/_search +```json +GET kibana_sample_data_ecommerce/_search { "size": 0, - "fields": [ - "time", - "day_of_week" - ], - "aggs": { - "day_of_week": { - "terms": { - "field": "day_of_week", - "size": 10 - } + "aggs": { + "full_day_name": { + "terms": { + "field": "full_day_name", + "size": 10 } } + } } ``` -% TEST[continued] -The response includes `day_of_week` for each hit. {{es}} calculates the value for this field dynamically at search time by operating on the `datetime` field defined in the mappings. +The response includes an aggregation bucket for each time period. {{es}} calculates the value of the `full_day_name` field dynamically at search time, based on the `order_date` field in each document. -```console-result +Response: + +```json { ... - "hits" : { - "total" : { - "value" : 11, - "relation" : "eq" + "hits": { + "total": { + "value": 4675, + "relation": "eq" }, - "max_score" : null, - "hits" : [ ] + "max_score": null, + "hits": [] }, - "aggregations" : { - "day_of_week" : { - "doc_count_error_upper_bound" : 0, - "sum_other_doc_count" : 0, - "buckets" : [ + "aggregations": { + "full_day_name": { + "doc_count_error_upper_bound": 0, + "sum_other_doc_count": 0, + "buckets": [ + { + "key": "Thu", + "doc_count": 775 + }, + { + "key": "Fri", + "doc_count": 770 + }, + { + "key": "Sat", + "doc_count": 736 + }, { - "key" : "TUESDAY", - "doc_count" : 5 + "key": "Sun", + "doc_count": 614 }, { - "key" : "THURSDAY", - "doc_count" : 4 + "key": "Tue", + "doc_count": 609 }, { - "key" : "MONDAY", - "doc_count" : 1 + "key": "Wed", + "doc_count": 592 }, { - "key" : "SUNDAY", - "doc_count" : 1 + "key": "Mon", + "doc_count": 579 } ] } } } ``` -% TESTRESPONSE[s/\.\.\./"took" : $body.took,"timed_out" : $body.timed_out,"_shards" : $body._shards,/] From 801701b10ea28b045b79d3fb513ba10ad0916890 Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Wed, 19 Nov 2025 16:54:29 -0500 Subject: [PATCH 15/20] four more contexts --- .../painless/painless-reindex-context.md | 47 +++++++++++++++++-- .../painless/painless-score-context.md | 37 +++++++++------ .../painless/painless-sort-context.md | 33 ++++++------- .../painless-update-by-query-context.md | 44 +++++++++++------ .../painless/painless-update-context.md | 43 ++++++++++++----- 5 files changed, 140 insertions(+), 64 deletions(-) diff --git a/docs/reference/scripting-languages/painless/painless-reindex-context.md b/docs/reference/scripting-languages/painless/painless-reindex-context.md index 41bec6d316b0f..57e5166f581b2 100644 --- a/docs/reference/scripting-languages/painless/painless-reindex-context.md +++ b/docs/reference/scripting-languages/painless/painless-reindex-context.md @@ -12,7 +12,7 @@ products: Use a Painless script in a [reindex](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-reindex) operation to add, modify, or delete fields within each document in an original index as its reindexed into a target index. -**Variables** +## Variables `params` (`Map`, read-only) : User-defined parameters passed in as part of the query. @@ -35,7 +35,7 @@ Use a Painless script in a [reindex](https://www.elastic.co/docs/api/doc/elastic [`ctx['_source']`](/reference/elasticsearch/mapping-reference/mapping-source-field.md) (`Map`) : Contains extracted JSON in a `Map` and `List` structure for the fields existing in a stored document. -**Side Effects** +## Side Effects `ctx['op']` : Use the default of `index` to update a document. Set to `noop` to specify no operation or `delete` to delete the current document from the index. @@ -55,12 +55,51 @@ Use a Painless script in a [reindex](https://www.elastic.co/docs/api/doc/elastic [`ctx['_source']`](/reference/elasticsearch/mapping-reference/mapping-source-field.md) : Modify the values in the `Map/List` structure to add, modify, or delete the fields of a document. -**Return** +## Return `void` : No expected return value. -**API** +## API The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared.html) is available. +## Example + +To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). + +The following request copies all documents from the `kibana_sample_data_ecommerce` index to a new index called `data_ecommerce_usd`. During this process, a script is used to convert all monetary values to a new currency using a specified exchange rate in the `params`. + +```json +POST /_reindex +{ + "source": { + "index": "kibana_sample_data_ecommerce" + }, + "dest": { + "index": "data_ecommerce_usd" + }, + "script": { + "source": """ + float er = (float) params.exchange_rate; // Cast parameter to float to ensure proper decimal calculations + ctx._source.currency = params.target_currency; + + // Convert all prices to dollar + ctx._source.taxful_total_price = Math.round(ctx._source.taxful_total_price * er * 100) / 100; + ctx._source.taxless_total_price = Math.round(ctx._source.taxless_total_price * er * 100) / 100; + + for (product in ctx._source.products) { + product.price = Math.round(product.price * er * 100) / 100; + product.base_price = Math.round(product.base_price * er * 100) / 100; + product.taxful_price = Math.round(product.taxful_price * er * 100) / 100; + product.taxless_price = Math.round(product.taxless_price * er * 100) / 100; + } + """, + "lang": "painless", + "params": { + "exchange_rate": 1.10, + "target_currency": "USD" + } + } +} +``` diff --git a/docs/reference/scripting-languages/painless/painless-score-context.md b/docs/reference/scripting-languages/painless/painless-score-context.md index f84adc4c86099..8f7d15fabc6bd 100644 --- a/docs/reference/scripting-languages/painless/painless-score-context.md +++ b/docs/reference/scripting-languages/painless/painless-score-context.md @@ -12,7 +12,9 @@ products: Use a Painless script in a [function score](/reference/query-languages/query-dsl/query-dsl-function-score-query.md) to apply a new score to documents returned from a query. -**Variables** +Check the troubleshooting guide for help with script score calculation errors. + +## Variables `params` (`Map`, read-only) : User-defined parameters passed in as part of the query. @@ -23,39 +25,46 @@ Use a Painless script in a [function score](/reference/query-languages/query-dsl `_score` (`double` read-only) : The similarity score of the current document. -**Return** +## Return `double` : The score for the current document. -**API** +## API -Both the standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared.html) and [Specialized Score API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-score.html) are available. +Both the standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared.html) and specialized [Field API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-field.html) are available. -**Example** +## Example -To run this example, first follow the steps in [context examples](/reference/scripting-languages/painless/painless-context-examples.md). +To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). -The following query finds all unsold seats, with lower *row* values scored higher. +The following request boosts results for customers in New York, helping highlight local preferences or regional inventory. It uses a `function_score` query to match products with "jeans" in the name and increase their score when the city is New York. -```console -GET /seats/_search +```json +GET kibana_sample_data_ecommerce/_search { "query": { "function_score": { "query": { "match": { - "sold": "false" + "products.product_name": "jeans" } }, "script_score": { "script": { - "source": "1.0 / doc['row'].value" + "source": """ + double baseScore = _score; + def city = doc['geoip.city_name']; + + if (city.size() > 0 && city.value == 'New York') { + baseScore *= 1.5; + } + + return baseScore; + """ } } } } -} +} ``` -% TEST[setup:seats] - diff --git a/docs/reference/scripting-languages/painless/painless-sort-context.md b/docs/reference/scripting-languages/painless/painless-sort-context.md index 95b3e696ab0df..a4e7e95aebc6f 100644 --- a/docs/reference/scripting-languages/painless/painless-sort-context.md +++ b/docs/reference/scripting-languages/painless/painless-sort-context.md @@ -12,7 +12,7 @@ products: Use a Painless script to [sort](/reference/elasticsearch/rest-apis/sort-search-results.md) the documents in a query. -**Variables** +## Variables `params` (`Map`, read-only) : User-defined parameters passed in as part of the query. @@ -23,42 +23,37 @@ Use a Painless script to [sort](/reference/elasticsearch/rest-apis/sort-search-r `_score` (`double` read-only) : The similarity score of the current document. -**Return** +## Return `double` or `String` : The sort key. The return type depends on the value of the `type` parameter in the script sort config (`"number"` or `"string"`). -**API** +## API The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared.html) is available. -**Example** +## Example -To run this example, first follow the steps in [context examples](/reference/scripting-languages/painless/painless-context-examples.md). +To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). -To sort results by the length of the `theatre` field, submit the following query: +The following request sorts documents by the average price per item, calculated by dividing the `taxful_total_price` by the `total_quantity`. -```console -GET /_search +Documents with a higher average item price appear at the top of the results. + +```json +GET /kibana_sample_data_ecommerce/_search { - "query": { - "term": { - "sold": "true" - } - }, "sort": { "_script": { "type": "number", "script": { "lang": "painless", - "source": "doc['theatre'].value.length() * params.factor", - "params": { - "factor": 1.1 - } + "source": """ + doc['taxful_total_price'].value / doc['total_quantity'].value + """ }, - "order": "asc" + "order": "desc" } } } ``` - diff --git a/docs/reference/scripting-languages/painless/painless-update-by-query-context.md b/docs/reference/scripting-languages/painless/painless-update-by-query-context.md index bd7d503475f35..b21828a7ae111 100644 --- a/docs/reference/scripting-languages/painless/painless-update-by-query-context.md +++ b/docs/reference/scripting-languages/painless/painless-update-by-query-context.md @@ -12,7 +12,9 @@ products: Use a Painless script in an [update by query](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-update-by-query) operation to add, modify, or delete fields within each of a set of documents collected as the result of query. -**Variables** +Check out the [document update tutorial](docs-content://explore-analyze/scripting/modules-scripting-document-update-tutorial.md) for related examples. + +## Variables `params` (`Map`, read-only) : User-defined parameters passed in as part of the query. @@ -35,7 +37,7 @@ Use a Painless script in an [update by query](https://www.elastic.co/docs/api/do [`ctx['_source']`](/reference/elasticsearch/mapping-reference/mapping-source-field.md) (`Map`) : Contains extracted JSON in a `Map` and `List` structure for the fields existing in a stored document. -**Side Effects** +## Side Effects `ctx['op']` : Use the default of `index` to update a document. Set to `none` to specify no operation or `delete` to delete the current document from the index. @@ -43,49 +45,61 @@ Use a Painless script in an [update by query](https://www.elastic.co/docs/api/do [`ctx['_source']`](/reference/elasticsearch/mapping-reference/mapping-source-field.md) : Modify the values in the `Map/List` structure to add, modify, or delete the fields of a document. -**Return** +## Return `void` : No expected return value. -**API** +## API The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared.html) is available. -**Example** +## Example + +To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). -To run this example, first follow the steps in [context examples](/reference/scripting-languages/painless/painless-context-examples.md). +The following request uses the `_update_by_query` API to apply a discount to products that meet two conditions: -The following query finds all seats in a specific section that have not been sold and lowers the price by 2: +1. The product’s `base_price` is greater than or equal to 20\. +2. The product currently has a `discount_percentage` of 0 (no discount applied). -```console -POST /seats/_update_by_query +```json +POST /kibana_sample_data_ecommerce/_update_by_query { "query": { "bool": { "filter": [ { "range": { - "row": { - "lte": 3 + "products.base_price": { + "gte": 20 } } }, { "match": { - "sold": false + "products.discount_percentage": 0 } } ] } }, "script": { - "source": "ctx._source.cost -= params.discount", "lang": "painless", + "source": """ + for (product in ctx._source.products) { + // If product has no discount applied + if (product.discount_percentage == 0) { + product.discount_percentage = params.discount_rate; // Assigns the discount rate + product.discount_amount = product.base_price * (params.discount_rate / 100) ; // Calculates and assigns the total discount + + product.price = product.base_price - product.discount_amount; // Calculates and assigns the product price with discount + } + } + """, "params": { - "discount": 2 + "discount_rate": 15 } } } ``` -% TEST[setup:seats] diff --git a/docs/reference/scripting-languages/painless/painless-update-context.md b/docs/reference/scripting-languages/painless/painless-update-context.md index 9b6db6528ef03..ece4e21b1e699 100644 --- a/docs/reference/scripting-languages/painless/painless-update-context.md +++ b/docs/reference/scripting-languages/painless/painless-update-context.md @@ -12,7 +12,9 @@ products: Use a Painless script in an [update](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-update) operation to add, modify, or delete fields within a single document. -**Variables** +Check out the [document update tutorial](docs-content://explore-analyze/scripting/modules-scripting-document-update-tutorial.md) for related examples. + +## Variables `params` (`Map`, read-only) : User-defined parameters passed in as part of the query. @@ -38,7 +40,7 @@ Use a Painless script in an [update](https://www.elastic.co/docs/api/doc/elastic [`ctx['_source']`](/reference/elasticsearch/mapping-reference/mapping-source-field.md) (`Map`) : Contains extracted JSON in a `Map` and `List` structure for the fields existing in a stored document. -**Side Effects** +## Side Effects `ctx['op']` : Use the default of `index` to update a document. Set to `none` to specify no operation or `delete` to delete the current document from the index. @@ -46,31 +48,48 @@ Use a Painless script in an [update](https://www.elastic.co/docs/api/doc/elastic [`ctx['_source']`](/reference/elasticsearch/mapping-reference/mapping-source-field.md) : Modify the values in the `Map/List` structure to add, modify, or delete the fields of a document. -**Return** +## Return `void` : No expected return value. -**API** +## API The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared.html) is available. -**Example** +## Example + +To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). + +The following example demonstrates how to apply a promotional discount to an order. + +Find a valid document ID: + +```json +GET /kibana_sample_data_ecommerce/_search +{ + "size": 1, + "_source": false +} +``` -To run this example, first follow the steps in [context examples](/reference/scripting-languages/painless/painless-context-examples.md). +The script performs two key actions: -The following query updates a document to be sold, and sets the cost to the actual price paid after discounts: +1. Calculates a discounted price by subtracting $5.00 from the original `taxful_total_price.` +2. Adds the flag `discount_applied` to identify orders that received promotional pricing. -```console -POST /seats/_update/3 +```json +POST /kibana_sample_data_ecommerce/_update/YOUR_DOCUMENT_ID { "script": { - "source": "ctx._source.sold = true; ctx._source.cost = params.sold_cost", "lang": "painless", + "source": """ + ctx._source.discount_applied = true; + ctx._source.final_price = ctx._source.taxful_total_price - params.discount_amount; + """, "params": { - "sold_cost": 26 + "discount_amount": 5.00 } } } ``` -% TEST[setup:seats] From 8e21afcd3f37945224acc8d72f142ee27b4d77b3 Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Thu, 20 Nov 2025 16:36:32 -0500 Subject: [PATCH 16/20] More contexts --- .../painless-bucket-script-agg-context.md | 53 ++++------ .../painless-bucket-selector-agg-context.md | 47 +++------ .../painless-metric-agg-combine-context.md | 48 ++++++++- .../painless-metric-agg-init-context.md | 91 ++++++++++++++++- .../painless-metric-agg-map-context.md | 97 ++++++++++++++++++- .../painless-metric-agg-reduce-context.md | 95 +++++++++++++++++- .../painless-min-should-match-context.md | 61 ++++++------ .../painless/painless-similarity-context.md | 38 +++++++- .../painless/painless-weight-context.md | 57 ++++++++++- 9 files changed, 469 insertions(+), 118 deletions(-) diff --git a/docs/reference/scripting-languages/painless/painless-bucket-script-agg-context.md b/docs/reference/scripting-languages/painless/painless-bucket-script-agg-context.md index 689fa78857aa9..fbf3350778db1 100644 --- a/docs/reference/scripting-languages/painless/painless-bucket-script-agg-context.md +++ b/docs/reference/scripting-languages/painless/painless-bucket-script-agg-context.md @@ -31,50 +31,38 @@ The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painle ## Example [_example] -To run this example, first follow the steps in [context examples](/reference/scripting-languages/painless/painless-context-examples.md). +To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). -The painless context in a `bucket_script` aggregation provides a `params` map. This map contains both user-specified custom values, as well as the values from other aggregations specified in the `buckets_path` property. +The following request is useful for identifying high-value markets by comparing average order values across countries. It groups orders by country and calculates metrics for each country, including `total_revenue` and `order_count`, then uses a bucket script to compute `revenue_per_order` for performance analysis. -This example takes the values from a min and max aggregation, calculates the difference, and adds the user-specified base_cost to the result: - -```painless -(params.max - params.min) + params.base_cost -``` - -Note that the values are extracted from the `params` map. In context, the aggregation looks like this: - -```console -GET /seats/_search +```json +GET kibana_sample_data_ecommerce/_search { "size": 0, "aggs": { - "theatres": { + "countries": { "terms": { - "field": "theatre", - "size": 10 + "field": "geoip.country_iso_code" }, "aggs": { - "min_cost": { - "min": { - "field": "cost" + "total_revenue": { + "sum": { + "field": "taxful_total_price" } }, - "max_cost": { - "max": { - "field": "cost" + "order_count": { + "value_count": { + "field": "order_id" } }, - "spread_plus_base": { + "revenue_per_order": { "bucket_script": { - "buckets_path": { <1> - "min": "min_cost", - "max": "max_cost" + "buckets_path": { + "revenue": "total_revenue", + "orders": "order_count" }, "script": { - "params": { - "base_cost": 5 <2> - }, - "source": "(params.max - params.min) + params.base_cost" + "source": "params.revenue / params.orders" } } } @@ -83,10 +71,3 @@ GET /seats/_search } } ``` -% TEST[setup:seats] - -1. The `buckets_path` points to two aggregations (`min_cost`, `max_cost`) and adds `min`/`max` variables to the `params` map -2. The user-specified `base_cost` is also added to the script’s `params` map - - - diff --git a/docs/reference/scripting-languages/painless/painless-bucket-selector-agg-context.md b/docs/reference/scripting-languages/painless/painless-bucket-selector-agg-context.md index c47dab60e2a21..3775d1cc038b2 100644 --- a/docs/reference/scripting-languages/painless/painless-bucket-selector-agg-context.md +++ b/docs/reference/scripting-languages/painless/painless-bucket-selector-agg-context.md @@ -31,46 +31,32 @@ The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painle ## Example [_example_2] -To run this example, first follow the steps in [context examples](/reference/scripting-languages/painless/painless-context-examples.md). +To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). -The painless context in a `bucket_selector` aggregation provides a `params` map. This map contains both user-specified custom values, as well as the values from other aggregations specified in the `buckets_path` property. +The following request filters out low-performing manufacturers and focuses only on brands with significant sales volume. The query groups orders by manufacturer, counts total orders for each brand, then uses a bucket selector to show only manufacturers with 50 or more orders. -Unlike some other aggregation contexts, the `bucket_selector` context must return a boolean `true` or `false`. - -This example finds the max of each bucket, adds a user-specified base_cost, and retains all of the buckets that are greater than `10`. - -```painless -params.max + params.base_cost > 10 -``` - -Note that the values are extracted from the `params` map. The script is in the form of an expression that returns `true` or `false`. In context, the aggregation looks like this: - -```console -GET /seats/_search +```json +GET kibana_sample_data_ecommerce/_search { "size": 0, "aggs": { - "theatres": { + "manufacturers": { "terms": { - "field": "theatre", - "size": 10 + "field": "manufacturer.keyword" }, "aggs": { - "max_cost": { - "max": { - "field": "cost" + "total_orders": { + "value_count": { + "field": "order_id" } }, - "filtering_agg": { + "high_volume_filter": { "bucket_selector": { - "buckets_path": { <1> - "max": "max_cost" + "buckets_path": { + "order_count": "total_orders" }, "script": { - "params": { - "base_cost": 5 <2> - }, - "source": "params.max + params.base_cost > 10" + "source": "params.order_count >= 50" } } } @@ -79,10 +65,3 @@ GET /seats/_search } } ``` -% TEST[setup:seats] - -1. The `buckets_path` points to the max aggregations (`max_cost`) and adds `max` variables to the `params` map -2. The user-specified `base_cost` is also added to the `params` map - - - diff --git a/docs/reference/scripting-languages/painless/painless-metric-agg-combine-context.md b/docs/reference/scripting-languages/painless/painless-metric-agg-combine-context.md index 76b271dafb221..0a9b9ef019d74 100644 --- a/docs/reference/scripting-languages/painless/painless-metric-agg-combine-context.md +++ b/docs/reference/scripting-languages/painless/painless-metric-agg-combine-context.md @@ -12,7 +12,11 @@ products: Use a Painless script to [combine](/reference/aggregations/search-aggregations-metrics-scripted-metric-aggregation.md) values for use in a scripted metric aggregation. A combine script is run once per shard following a [map script](/reference/scripting-languages/painless/painless-metric-agg-map-context.md) and is optional as part of a full metric aggregation. -**Variables** +:::{warning} +`scripted_metric` is not available in {{serverless-full}}. +::: + +## Variables `params` (`Map`, read-only) : User-defined parameters passed in as part of the query. @@ -20,12 +24,50 @@ Use a Painless script to [combine](/reference/aggregations/search-aggregations-m `state` (`Map`) : `Map` with values available from the prior map script. -**Return** +## Return `List`, `Map`, `String`, or primitive : A value collected for use in a [reduce script](/reference/scripting-languages/painless/painless-metric-agg-reduce-context.md). If no reduce script is specified, the value is used as part of the result. -**API** +## API The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared.html) is available. +## Example + +To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). + +:::{tip}You are viewing Phase 3 of 4 in the scripted metric aggregation pipeline. This combined script runs once per shard to prepare results for the final reduce phase. This is the same complete example shown across all metric aggregation contexts. +::: + +In the following example, we build a query that analyzes the data to calculate the total number of products sold across all orders, using the map-reduce pattern where each shard processes documents locally and results are combined into a final total. + +**Initialization phase (sets up data structures):** +The first code snippet is contained by the `init_script` that initializes an empty array to collect quantity values from each document. Runs once per shard. + +```java +state.quantities = [] +``` + +**Map phase (processes each document):** +The code in the `map_script` section is executed for each document. It extracts the total quantity of products in each order and adds it to the shard's collection array. + +```java +state.quantities.add(doc['total_quantity'].value) +``` + +**>Combine phase (this context - returns shard results):** +In the `combine_script`, we process all the quantities collected in this shard by iterating through the array and summing all values. This reduces the data sent to the reduce phase from an array of individual quantities to a single total per shard. + +```java +int shardTotal = 0; + +for (qty in state.quantities) { + shardTotal += qty; +} + +return shardTotal; +``` + +**Reduce phase (merges all shard results):** +Finally, the `reduce_script` merges results from all shards by iterating through each shard's total and adding the results together to get the grand total of products sold across the entire dataset. diff --git a/docs/reference/scripting-languages/painless/painless-metric-agg-init-context.md b/docs/reference/scripting-languages/painless/painless-metric-agg-init-context.md index d9ea0ebf2d32f..487e3f4efe723 100644 --- a/docs/reference/scripting-languages/painless/painless-metric-agg-init-context.md +++ b/docs/reference/scripting-languages/painless/painless-metric-agg-init-context.md @@ -12,7 +12,7 @@ products: Use a Painless script to [initialize](/reference/aggregations/search-aggregations-metrics-scripted-metric-aggregation.md) values for use in a scripted metric aggregation. An initialization script is run prior to document collection once per shard and is optional as part of the full metric aggregation. -**Variables** +## Variables `params` (`Map`, read-only) : User-defined parameters passed in as part of the query. @@ -20,17 +20,100 @@ Use a Painless script to [initialize](/reference/aggregations/search-aggregation `state` (`Map`) : Empty `Map` used to add values for use in a [map script](/reference/scripting-languages/painless/painless-metric-agg-map-context.md). -**Side Effects** +## Side Effects `state` (`Map`) : Add values to this `Map` to for use in a map. Additional values must be of the type `Map`, `List`, `String` or primitive. -**Return** +## Return `void` : No expected return value. -**API** +## API The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared.html) is available. +## Example + +To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). + +:::{tip} +This example demonstrates a complete scripted metric aggregation pipeline that works across all 4 metric aggregation contexts (initialization -> map -> combine -> reduce). You’ll find this same example in the other metric aggregation contexts, with each highlighting its specific phase. You are viewing Phase 1 of 4 in the scripted metric aggregation pipeline. +::: + +In the following example, we build a query that analyzes the data to calculate the total number of products sold across all orders, using the map-reduce pattern where each shard processes documents locally and results are combined into a final total. + +**>Initialization phase (this context \- sets up data structures):** +The first code snippet is contained by the init_script that initializes an empty array to collect quantity values from each document. Runs once per shard. + +```java +state.quantities = [] +``` + +**Map phase (processes each document):** +The code in the `map_script` section is run for each document. It extracts the total quantity of products in each order and adds it to the shard's collection array. + +```java +state.quantities.add(doc['total_quantity'].value) +``` + +**Combine phase (returns shard results):** +In the `combine_script`, we process all the quantities collected in this shard by iterating through the array and summing all values. This reduces the data sent to the reduce phase from an array of individual quantities to a single total per shard. + +```java +int shardTotal = 0; +for (qty in state.quantities) { + shardTotal += qty; +} +return shardTotal; +``` + +**Reduce phase (merges all shard results):** + +Finally, the `reduce_script` merges results from all shards by iterating through each shard's total and adding the results together to get the grand total of products sold across the entire dataset. + +```java +int grandTotal = 0; + +for (shardTotal in states) { + grandTotal += shardTotal; +} + +return grandTotal; +``` + +The complete request looks like this: + +```json +GET kibana_sample_data_ecommerce/_search +{ + "size": 0, + "aggs": { + "total_quantity_sold": { + "scripted_metric": { + "init_script": "state.quantities = []", + "map_script": "state.quantities.add(doc['total_quantity'].value)", + "combine_script": """ + int shardTotal = 0; + + for (qty in state.quantities) { + shardTotal += qty; + } + + return shardTotal; + """, + "reduce_script": """ + int grandTotal = 0; + + for (shardTotal in states) { + grandTotal += shardTotal; + } + + return grandTotal; + """ + } + } + } +} +``` diff --git a/docs/reference/scripting-languages/painless/painless-metric-agg-map-context.md b/docs/reference/scripting-languages/painless/painless-metric-agg-map-context.md index 7eb53a31e4fb6..ff052a62fe098 100644 --- a/docs/reference/scripting-languages/painless/painless-metric-agg-map-context.md +++ b/docs/reference/scripting-languages/painless/painless-metric-agg-map-context.md @@ -12,7 +12,12 @@ products: Use a Painless script to [map](/reference/aggregations/search-aggregations-metrics-scripted-metric-aggregation.md) values for use in a scripted metric aggregation. A map script is run once per collected document following an optional [initialization script](/reference/scripting-languages/painless/painless-metric-agg-init-context.md) and is required as part of a full metric aggregation. -**Variables** +:::{warning} +`scripted_metric` is not available in {{serverless-full}}. +::: + + +## Variables `params` (`Map`, read-only) : User-defined parameters passed in as part of the query. @@ -26,17 +31,101 @@ Use a Painless script to [map](/reference/aggregations/search-aggregations-metri `_score` (`double` read-only) : The similarity score of the current document. -**Side Effects** +## Side Effects `state` (`Map`) : Use this `Map` to add values for processing in a combine script. Additional values must be of the type `Map`, `List`, `String` or primitive. The same `state` `Map` is shared between all aggregated documents on a given shard. If an initialization script is provided as part of the aggregation then values added from the initialization script are available. If no combine script is specified, values must be directly stored in `state` in a usable form. If no combine script and no [reduce script](/reference/scripting-languages/painless/painless-metric-agg-reduce-context.md) are specified, the `state` values are used as the result. -**Return** +## Return `void` : No expected return value. -**API** +## API The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared.html) is available. +## Example + +To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). + +:::{tip} +You are viewing Phase 2 of 4 in the scripted metric aggregation pipeline. This combined script runs once per shard to prepare results for the final reduce phase. This is the same complete example shown across all metric aggregation contexts. +::: + +In the following example, we build a query that analyzes the data to calculate the total number of products sold across all orders, using the map-reduce pattern where each shard processes documents locally and results are combined into a final total. + +**Initialization phase (sets up data structures):** +The first code snippet is contained by the init_script that initializes an empty array to collect quantity values from each document. Runs once per shard. + +```java +state.quantities = [] +``` + +**>Map phase (this context - processes each document):** +The code in the `map_script` section is executed for each document. It extracts the total quantity of products in each order and adds it to the shard's collection array. + +```java +state.quantities.add(doc['total_quantity'].value) +``` + +**Combine phase (returns shard results):** +In the `combine_script`, we process all the quantities collected in this shard by iterating through the array and summing all values. This reduces the data sent to the reduce phase from an array of individual quantities to a single total per shard. + +```java +int shardTotal = 0; + +for (qty in state.quantities) { + shardTotal += qty; +} + +return shardTotal; +``` + +**Reduce phase (merges all shard results):** +Finally, the `reduce_script` merges results from all shards by iterating through each shard's total and adding the results together to get the grand total of products sold across the entire dataset. + +```java +int grandTotal = 0; + +for (shardTotal in states) { + grandTotal += shardTotal; +} + +return grandTotal; +``` + +The complete request looks like this: + +```json +GET kibana_sample_data_ecommerce/_search +{ + "size": 0, + "aggs": { + "total_quantity_sold": { + "scripted_metric": { + "init_script": "state.quantities = []", + "map_script": "state.quantities.add(doc['total_quantity'].value)", + "combine_script": """ + int shardTotal = 0; + + for (qty in state.quantities) { + shardTotal += qty; + } + + return shardTotal; + """, + "reduce_script": """ + int grandTotal = 0; + + for (shardTotal in states) { + grandTotal += shardTotal; + } + + return grandTotal; + """ + } + } + } +} +``` diff --git a/docs/reference/scripting-languages/painless/painless-metric-agg-reduce-context.md b/docs/reference/scripting-languages/painless/painless-metric-agg-reduce-context.md index 0c8a633baa168..e7b297e8f6bf2 100644 --- a/docs/reference/scripting-languages/painless/painless-metric-agg-reduce-context.md +++ b/docs/reference/scripting-languages/painless/painless-metric-agg-reduce-context.md @@ -12,7 +12,11 @@ products: Use a Painless script to [reduce](/reference/aggregations/search-aggregations-metrics-scripted-metric-aggregation.md) values to produce the result of a scripted metric aggregation. A reduce script is run once on the coordinating node following a [combine script](/reference/scripting-languages/painless/painless-metric-agg-combine-context.md) (or a [map script](/reference/scripting-languages/painless/painless-metric-agg-map-context.md) if no combine script is specified) and is optional as part of a full metric aggregation. -**Variables** +:::{warning} +`scripted_metric` is not available in {{serverless-full}}. +::: + +## Variables `params` (`Map`, read-only) : User-defined parameters passed in as part of the query. @@ -20,12 +24,97 @@ Use a Painless script to [reduce](/reference/aggregations/search-aggregations-me `states` (`Map`) : `Map` with values available from the prior combine script (or a map script if no combine script is specified). -**Return** +## Return `List`, `Map`, `String`, or primitive : A value used as the result. -**API** +## API The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared.html) is available. +## Example + +To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). + +:::{tip} +You are viewing Phase 4 of 4 in the scripted metric aggregation pipeline. This reduces script runs once on the coordinating node to produce the final result from all shard data. This is the same complete example shown across all metric aggregation contexts. +::: + +In the following example, we build a query that analyzes the data to calculate the total number of products sold across all orders, using the map-reduce pattern where each shard processes documents locally and results are combined into a final total. + +**Initialization phase (sets up data structures):** +The first code snippet is contained by the `init_script` that initializes an empty array to collect quantity values from each document. Runs once per shard. + +```java +state.quantities = [] +``` + +**Map phase (processes each document):** +The code in the `map_script` section is executed for each document. It extracts the total quantity of products in each order and adds it to the shard's collection array. + +```java +state.quantities.add(doc['total_quantity'].value) +``` + +**Combine phase (returns shard results):** +In the `combine_script`, we process all the quantities collected in this shard by iterating through the array and summing all values. This reduces the data sent to the reduce phase from an array of individual quantities to a single total per shard. + +```java +int shardTotal = 0; + +for (qty in state.quantities) { + shardTotal += qty; +} + +return shardTotal; +``` + +**>Reduce phase (this context - merges all shard results):** +Finally, the `reduce_script` merges results from all shards by iterating through each shard's total and adding the results together to get the grand total of products sold across the entire dataset. + +```java +int grandTotal = 0; + +for (shardTotal in states) { + grandTotal += shardTotal; +} + +return grandTotal; +``` + +The complete request looks like this: + +```json +GET kibana_sample_data_ecommerce/_search +{ + "size": 0, + "aggs": { + "total_quantity_sold": { + "scripted_metric": { + "init_script": "state.quantities = []", + "map_script": "state.quantities.add(doc['total_quantity'].value)", + "combine_script": """ + int shardTotal = 0; + + for (qty in state.quantities) { + shardTotal += qty; + } + + return shardTotal; + """, + "reduce_script": """ + int grandTotal = 0; + + for (shardTotal in states) { + grandTotal += shardTotal; + } + + return grandTotal; + """ + } + } + } +} +``` + diff --git a/docs/reference/scripting-languages/painless/painless-min-should-match-context.md b/docs/reference/scripting-languages/painless/painless-min-should-match-context.md index 1c88e0d9f6111..d35853c618157 100644 --- a/docs/reference/scripting-languages/painless/painless-min-should-match-context.md +++ b/docs/reference/scripting-languages/painless/painless-min-should-match-context.md @@ -12,7 +12,7 @@ products: Use a Painless script to specify the [minimum](/reference/query-languages/query-dsl/query-dsl-terms-set-query.md) number of terms that a specified field needs to match with for a document to be part of the query results. -**Variables** +## Variables `params` (`Map`, read-only) : User-defined parameters passed in as part of the query. @@ -23,52 +23,57 @@ Use a Painless script to specify the [minimum](/reference/query-languages/query- `doc` (`Map`, read-only) : Contains the fields of the current document where each field is a `List` of values. -**Return** +## Return `int` : The minimum number of terms required to match the current document. -**API** +## API The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared.html) is available. -**Example** +## Example -To run this example, first follow the steps in [context examples](/reference/scripting-languages/painless/painless-context-examples.md). +To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). -Imagine that you want to find seats to performances by your favorite actors. You have a list of favorite actors in mind, and you want to find performances where the cast includes at least a certain number of them. +This example shows conditional matching requirements. The script checks if a document contains both “Men’s Clothing” and “Men’s Shoes” categories. If this combination exists, only two terms need to match. Otherwise, three terms must match. This creates different qualification thresholds based on document content. -To achieve this result, use a `terms_set` query with `minimum_should_match_script`. To make the query request more configurable, you can define `min_actors_to_see` as a script parameter. - -To ensure that the parameter `min_actors_to_see` doesn’t exceed the number of favorite actors, you can use `num_terms` to get the number of actors in the list and `Math.min` to get the lesser of the two. - -```painless -Math.min(params['num_terms'], params['min_actors_to_see']) -``` - -The following request finds seats to performances with at least two of the three specified actors. - -```console -GET seats/_search +```json +GET kibana_sample_data_ecommerce/_search { "query": { "terms_set": { - "actors": { + "category.keyword": { "terms": [ - "smith", - "earns", - "black" + "Men's Clothing", + "Men's Shoes", + "Men's Accessories", + "Women's Clothing" ], "minimum_should_match_script": { - "source": "Math.min(params['num_terms'], params['min_actors_to_see'])", - "params": { - "min_actors_to_see": 2 - } + "source": """ + boolean hasMensClothing = false; + boolean hasMensShoes = false; + + for (def category : doc['category.keyword']) { + if (category.equals("Men's Clothing")) { + hasMensClothing = true; + } + + if (category.equals("Men's Shoes")) { + hasMensShoes = true; + } + } + + if (hasMensClothing && hasMensShoes) { + return 2; + } + + return 3; + """ } } } } } ``` -% TEST[setup:seats] - diff --git a/docs/reference/scripting-languages/painless/painless-similarity-context.md b/docs/reference/scripting-languages/painless/painless-similarity-context.md index add472c1f32d9..91a85144c7206 100644 --- a/docs/reference/scripting-languages/painless/painless-similarity-context.md +++ b/docs/reference/scripting-languages/painless/painless-similarity-context.md @@ -12,7 +12,11 @@ products: Use a Painless script to create a [similarity](/reference/elasticsearch/index-settings/similarity.md) equation for scoring documents in a query. -**Variables** +:::{tip} +This is an advanced feature for customizing how document relevance scores are calculated during search. For comprehensive information about similarity functions and their implementation, refer to the [similarity documentation](/reference/elasticsearch/index-settings/similarity.md). +::: + +## Variables `weight` (`float`, read-only) : The weight as calculated by a [weight script](/reference/scripting-languages/painless/painless-weight-context.md) @@ -45,12 +49,40 @@ Note that the `query`, `field`, and `term` variables are also available to the [ For queries that contain multiple terms, the script is called once for each term with that term’s calculated weight, and the results are summed. Note that some terms might have a `doc.freq` value of `0` on a document, for example if a query uses synonyms. -**Return** +## Return `double` : The similarity score for the current document. -**API** +## API The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared.html) is available. +## Example + +To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). + +The following request creates a new index named `ecommerce_rare_terms` with a custom `similarity` equation called `rare_boost`. This similarity function modifies how document relevance scores are calculated during search by giving more weight to rare terms. + +This can be used if you want to customize how documents are matched and scored against query terms, for example to boost products with unique or uncommon attributes in search results. + +```json +PUT kibana_sample_data_ecommerce-rare_terms +{ + "settings": { + "similarity": { + "rare_boost": { + "type": "scripted", + "script": { + "source": """ + double tf = Math.sqrt(doc.freq); + double idf = Math.log((field.docCount + 1)/(term.docFreq + 1)); // If the term appears in less than 5% of the documents, it will be boosted + double rareBoost = term.docFreq < (field.docCount * 0.05) ? 2 : 1; + return query.boost * tf * idf * rareBoost; + """ + } + } + } + } +} +``` diff --git a/docs/reference/scripting-languages/painless/painless-weight-context.md b/docs/reference/scripting-languages/painless/painless-weight-context.md index e5c721c6ea233..decce294ba84b 100644 --- a/docs/reference/scripting-languages/painless/painless-weight-context.md +++ b/docs/reference/scripting-languages/painless/painless-weight-context.md @@ -14,7 +14,7 @@ Use a Painless script to create a [weight](/reference/elasticsearch/index-settin Queries that contain multiple terms calculate a separate weight for each term. -**Variables** +## Variables `query.boost` (`float`, read-only) : The boost value if provided by the query. If this is not provided the value is `1.0f`. @@ -34,12 +34,63 @@ Queries that contain multiple terms calculate a separate weight for each term. `term.totalTermFreq` (`long`, read-only) : The total occurrences of the current term in the index. -**Return** +## Return `double` : A scoring factor used across all documents. -**API** +## API The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared.html) is available. +## Example + +To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). + +This request creates an index with a smart search system that automatically boosts products with rare, distinctive features like "vintage", "handcrafted", or unique materials. It helps discover special items by making uncommon products rank higher in search results. + +```json +PUT kibana_sample_data_ecommerce-weight +{ + "settings": { + "similarity": { + "rare_term_weight": { + "type": "scripted", + "weight_script": { + "source": """ + double idf = Math.log((field.docCount + 1.0) / (term.docFreq + 1.0)); + + double rarityFactor = 1.0; + if (term.docFreq < field.docCount * 0.02) { + rarityFactor = 3.0; // Very rare terms get high boost + } else if (term.docFreq < field.docCount * 0.10) { + rarityFactor = 1.5; // Somewhat rare terms get medium boost + } + + return query.boost * idf * rarityFactor; + """ + }, + "script": { + "source": """ + double tf = Math.sqrt(doc.freq); + + return tf * weight; + """ + } + } + } + }, + "mappings": { + "properties": { + "product_name": { + "type": "text", + "similarity": "rare_term_weight" + }, + "description": { + "type": "text", + "similarity": "rare_term_weight" + } + } + } +} +``` From 4c8dcee6b7d1e3a05524690c8b3821dcc7685f3c Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Mon, 24 Nov 2025 16:13:58 -0500 Subject: [PATCH 17/20] more contexts --- .../painless-analysis-predicate-context.md | 77 +++- .../painless-watcher-condition-context.md | 170 +++++---- .../painless-watcher-transform-context.md | 354 +++++------------- 3 files changed, 247 insertions(+), 354 deletions(-) diff --git a/docs/reference/scripting-languages/painless/painless-analysis-predicate-context.md b/docs/reference/scripting-languages/painless/painless-analysis-predicate-context.md index 0ae985330ca90..a4000ed1534a9 100644 --- a/docs/reference/scripting-languages/painless/painless-analysis-predicate-context.md +++ b/docs/reference/scripting-languages/painless/painless-analysis-predicate-context.md @@ -12,7 +12,11 @@ products: Use a painless script to determine whether or not the current token in an analysis chain matches a predicate. -**Variables** +:::{tip} +This is an advanced feature for customizing text analysis and token filtering. To learn more, refer to [Text analysis](docs-content://manage-data/data-store/text-analysis.md). +::: + +## Variables `params` (`Map`, read-only) : User-defined parameters passed in as part of the query. @@ -41,12 +45,79 @@ Use a painless script to determine whether or not the current token in an analys `token.keyword` (`boolean`, read-only) : Whether or not the current token is marked as a keyword -**Return** +## Return `boolean` : Whether or not the current token matches the predicate -**API** +## API The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared.html) is available. +## Example + +To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). + +This example ensures that only properly formatted SKUs are processed. The analyzer checks that SKU codes start with "ZO" and are exactly 13 characters long, filtering out malformed or invalid product codes that could break inventory systems or search functionality. + +```json +PUT sku_analysis +{ + "settings": { + "analysis": { + "analyzer": { + "sku_search_analyzer": { + "tokenizer": "whitespace", + "filter": [ + "sku_validator" + ] + } + }, + "filter": { + "sku_validator": { + "type": "predicate_token_filter", + "script": { + "source": """ + return token.term.length() == 12 && token.term.toString().startsWith('ZO'); + """ + } + } + } + } + } +} +``` + +Test it using the following request: + +```json +GET sku_analysis/_analyze +{ + "analyzer": "sku_search_analyzer", + "text": "ZO0240302403 ZO0236402364 INVALID123 SHORT AB1234567890123" +} +``` + +Result: + +```json +{ + "tokens": [ + { + "token": "ZO0240302403", + "start_offset": 0, + "end_offset": 12, + "type": "word", + "position": 0 + }, + { + "token": "ZO0236402364", + "start_offset": 13, + "end_offset": 25, + "type": "word", + "position": 1 + } + ] +} +``` + diff --git a/docs/reference/scripting-languages/painless/painless-watcher-condition-context.md b/docs/reference/scripting-languages/painless/painless-watcher-condition-context.md index b43091a9a8fb5..949f0e0c42ec4 100644 --- a/docs/reference/scripting-languages/painless/painless-watcher-condition-context.md +++ b/docs/reference/scripting-languages/painless/painless-watcher-condition-context.md @@ -14,7 +14,7 @@ Use a Painless script as a [watch condition](docs-content://explore-analyze/aler The following variables are available in all watcher contexts. -**Variables** +## Variables `params` (`Map`, read-only) : User-defined parameters passed in as part of the query. @@ -40,38 +40,56 @@ The following variables are available in all watcher contexts. `ctx['payload']` (`Map`, read-only) : The accessible watch data based upon the [watch input](docs-content://explore-analyze/alerts-cases/watcher/input.md). -**Return** +## Return `boolean` : Expects `true` if the condition is met, and `false` if it is not. -**API** +## API The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared.html) is available. -**Example** +## Example -To run the examples, first follow the steps in [context examples](/reference/scripting-languages/painless/painless-context-examples.md). +To run the examples, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). -```console +**Manufacturer revenue anomaly detection** +The following script creates a watcher that runs daily to monitor manufacturer revenue anomalies by querying the last seven days of documents and calculating `total_revenue` per `manufacturer.keyword`. + +The condition in the script filters manufacturers with `total_revenue.value` either below 200 or above 2000, triggering an alert log when any anomalous manufacturers are detected. + +```json POST _watcher/watch/_execute { - "watch" : { - "trigger" : { "schedule" : { "interval" : "24h" } }, - "input" : { - "search" : { - "request" : { - "indices" : [ "seats" ], - "body" : { - "query" : { - "term": { "sold": "true"} + "watch": { + "trigger": { + "schedule": { + "interval": "24h" + } + }, + "input": { + "search": { + "request": { + "indices": ["kibana_sample_data_ecommerce"], + "body": { + "query": { + "range": { + "order_date": { + "gte": "now-7d" + } + } }, - "aggs" : { - "theatres" : { - "terms" : { "field" : "play" }, - "aggs" : { - "money" : { - "sum": { "field" : "cost" } + "size": 0, + "aggs": { + "manufacturers": { + "terms": { + "field": "manufacturer.keyword" + }, + "aggs": { + "total_revenue": { + "sum": { + "field": "taxful_total_price" + } } } } @@ -80,89 +98,79 @@ POST _watcher/watch/_execute } } }, - "condition" : { - "script" : - """ - return ctx.payload.aggregations.theatres.buckets.stream() <1> - .filter(theatre -> theatre.money.value < 15000 || - theatre.money.value > 50000) <2> - .count() > 0 <3> + "condition": { + "script": """ + return ctx.payload.aggregations.manufacturers.buckets.stream() + .filter(manufacturer -> manufacturer.total_revenue.value < 200 || + manufacturer.total_revenue.value > 2000) + .count() > 0 """ }, - "actions" : { - "my_log" : { - "logging" : { - "text" : "The output of the search was : {{ctx.payload.aggregations.theatres.buckets}}" + "actions": { + "alert_log": { + "logging": { + "text": "ALERT: Manufacturers with anomalous sales detected: {{ctx.payload.aggregations.manufacturers.buckets}}" } } } } } ``` -% TEST[setup:seats] - -1. The Java Stream API is used in the condition. This API allows manipulation of the elements of the list in a pipeline. -2. The stream filter removes items that do not meet the filter criteria. -3. If there is at least one item in the list, the condition evaluates to true and the watch is executed. +**High-value order detection** +The next example runs hourly to detect high-value orders by filtering orders from the last hour when `taxful_total_price` is more than 150\. A log message is generated whenever high-value orders are found. -The following action condition script controls execution of the my_log action based on the value of the seats sold for the plays in the data set. The script aggregates the total sold seats for each play and returns true if there is at least one play that has sold over $10,000. - -```console +```json POST _watcher/watch/_execute { - "watch" : { - "trigger" : { "schedule" : { "interval" : "24h" } }, - "input" : { - "search" : { - "request" : { - "indices" : [ "seats" ], - "body" : { - "query" : { - "term": { "sold": "true"} - }, - "size": 0, - "aggs" : { - "theatres" : { - "terms" : { "field" : "play" }, - "aggs" : { - "money" : { - "sum": { - "field" : "cost", - "script": { - "source": "doc.cost.value * doc.number.value" + "watch": { + "trigger": { + "schedule": { + "interval": "1h" + } + }, + "input": { + "search": { + "request": { + "indices": ["kibana_sample_data_ecommerce"], + "body": { + "query": { + "bool": { + "filter": [ + { + "range": { + "order_date": { + "gte": "now-1h" + } + } + }, + { + "range": { + "taxful_total_price": { + "gte": 150 } } } - } + ] } - } + }, + "size": 0 } } } }, - "actions" : { - "my_log" : { - "condition": { <1> - "script" : - """ - return ctx.payload.aggregations.theatres.buckets.stream() - .anyMatch(theatre -> theatre.money.value > 10000) <2> - """ - }, - "logging" : { - "text" : "At least one play has grossed over $10,000: {{ctx.payload.aggregations.theatres.buckets}}" + "condition": { + "script": """ + return ctx.payload.hits.total > 0 + """ + }, + "actions": { + "high_value_notification": { + "logging": { + "text": "ALERT: {{ctx.payload.hits.total}} high-value orders (over 150 EUR) detected in the last hour" } } } } } ``` -% TEST[setup:seats] - -This example uses a nearly identical condition as the previous example. The differences below are subtle and are worth calling out. - -1. The location of the condition is no longer at the top level, but is within an individual action. -2. Instead of a filter, `anyMatch` is used to return a boolean value - - diff --git a/docs/reference/scripting-languages/painless/painless-watcher-transform-context.md b/docs/reference/scripting-languages/painless/painless-watcher-transform-context.md index b06c35b33a155..2e7df00ffb119 100644 --- a/docs/reference/scripting-languages/painless/painless-watcher-transform-context.md +++ b/docs/reference/scripting-languages/painless/painless-watcher-transform-context.md @@ -14,7 +14,7 @@ Use a Painless script as a [watch transform](docs-content://explore-analyze/aler The following variables are available in all watcher contexts. -**Variables** +## Variables `params` (`Map`, read-only) : User-defined parameters passed in as part of the query. @@ -40,173 +40,56 @@ The following variables are available in all watcher contexts. `ctx['payload']` (`Map`, read-only) : The accessible watch data based upon the [watch input](docs-content://explore-analyze/alerts-cases/watcher/input.md). -**Return** +## Return `Object` : The new payload. -**API** +## API The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared.html) is available. -**Example** +## Example -To run the examples, first follow the steps in [context examples](/reference/scripting-languages/painless/painless-context-examples.md). - -```console -POST _watcher/watch/_execute -{ - "watch" : { - "trigger" : { "schedule" : { "interval" : "24h" } }, - "input" : { - "search" : { - "request" : { - "indices" : [ "seats" ], - "body" : { - "query" : { "term": { "sold": "true"} }, - "aggs" : { - "theatres" : { - "terms" : { "field" : "play" }, - "aggs" : { - "money" : { - "sum": { "field" : "cost" } - } - } - } - } - } - } - } - }, - "transform" : { - "script": - """ - return [ - 'money_makers': ctx.payload.aggregations.theatres.buckets.stream() <1> - .filter(t -> { <2> - return t.money.value > 50000 - }) - .map(t -> { <3> - return ['play': t.key, 'total_value': t.money.value ] - }).collect(Collectors.toList()), <4> - 'duds' : ctx.payload.aggregations.theatres.buckets.stream() <5> - .filter(t -> { - return t.money.value < 15000 - }) - .map(t -> { - return ['play': t.key, 'total_value': t.money.value ] - }).collect(Collectors.toList()) - ] - """ - }, - "actions" : { - "my_log" : { - "logging" : { - "text" : "The output of the payload was transformed to {{ctx.payload}}" - } - } - } - } -} -``` -% TEST[setup:seats] - -1. The Java Stream API is used in the transform. This API allows manipulation of the elements of the list in a pipeline. -2. The stream filter removes items that do not meet the filter criteria. -3. The stream map transforms each element into a new object. -4. The collector reduces the stream to a `java.util.List`. -5. This is done again for the second set of values in the transform. +To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). +This request creates an automated sales monitoring system that checks your e-commerce data every hour and sends alerts when certain product categories are performing well. -The following action transform changes each value in the mod_log action into a `String`. This transform does not change the values in the unmod_log action. +The transform script processes the aggregation results from the search input, extracting `bucket.key` (category name) and `bucket.revenue.value` (sales amount) from each category. It uses `ctx.metadata.alert_threshold` (50 USD) to determine which categories trigger alerts, creating a structured output with category details and alert flags for the logging action. -```console +```json POST _watcher/watch/_execute { - "watch" : { - "trigger" : { "schedule" : { "interval" : "24h" } }, - "input" : { - "search" : { - "request" : { - "indices" : [ "seats" ], - "body" : { - "query" : { - "term": { "sold": "true"} - }, - "aggs" : { - "theatres" : { - "terms" : { "field" : "play" }, - "aggs" : { - "money" : { - "sum": { "field" : "cost" } - } - } - } - } - } - } - } + "watch": { + "metadata": { + "alert_threshold": 50 }, - "actions" : { - "mod_log" : { - "transform": { <1> - "script" : - """ - def formatter = NumberFormat.getCurrencyInstance(); - return [ - 'msg': ctx.payload.aggregations.theatres.buckets.stream() - .map(t-> formatter.format(t.money.value) + ' for the play ' + t.key) - .collect(Collectors.joining(", ")) - ] - """ - }, - "logging" : { - "text" : "The output of the payload was transformed to: {{ctx.payload.msg}}" - } - }, - "unmod_log" : { <2> - "logging" : { - "text" : "The output of the payload was not transformed and this value should not exist: {{ctx.payload.msg}}" - } + "trigger": { + "schedule": { + "interval": "1h" } - } - } -} -``` -% TEST[setup:seats] - -This example uses the streaming API in a very similar manner. The differences below are subtle and worth calling out. - -1. The location of the transform is no longer at the top level, but is within an individual action. -2. A second action that does not transform the payload is given for reference. - - -The following example shows scripted watch and action transforms within the context of a complete watch. This watch also uses a scripted [condition](/reference/scripting-languages/painless/painless-watcher-condition-context.md). - -```console -POST _watcher/watch/_execute -{ - "watch" : { - "metadata" : { "high_threshold": 4000, "low_threshold": 1000 }, - "trigger" : { "schedule" : { "interval" : "24h" } }, - "input" : { - "search" : { - "request" : { - "indices" : [ "seats" ], - "body" : { - "query" : { - "term": { "sold": "true"} + }, + "input": { + "search": { + "request": { + "indices": ["kibana_sample_data_ecommerce"], + "body": { + "query": { + "range": { + "order_date": { + "gte": "now-24h" + } + } }, - "aggs" : { - "theatres" : { - "terms" : { "field" : "play" }, - "aggs" : { - "money" : { + "aggs": { + "by_category": { + "terms": { + "field": "category.keyword" + }, + "aggs": { + "revenue": { "sum": { - "field" : "cost", - "script": { - "source": "doc.cost.value * doc.number.value" - } + "field": "taxful_total_price" } } } @@ -216,132 +99,63 @@ POST _watcher/watch/_execute } } }, - "condition" : { - "script" : - """ - return ctx.payload.aggregations.theatres.buckets.stream() - .anyMatch(theatre -> theatre.money.value < ctx.metadata.low_threshold || - theatre.money.value > ctx.metadata.high_threshold) - """ - }, - "transform" : { - "script": - """ - return [ - 'money_makers': ctx.payload.aggregations.theatres.buckets.stream() - .filter(t -> { - return t.money.value > ctx.metadata.high_threshold - }) - .map(t -> { - return ['play': t.key, 'total_value': t.money.value ] - }).collect(Collectors.toList()), - 'duds' : ctx.payload.aggregations.theatres.buckets.stream() - .filter(t -> { - return t.money.value < ctx.metadata.low_threshold - }) - .map(t -> { - return ['play': t.key, 'total_value': t.money.value ] - }).collect(Collectors.toList()) - ] - """ - }, - "actions" : { - "log_money_makers" : { - "condition": { - "script" : "return ctx.payload.money_makers.size() > 0" - }, - "transform": { - "script" : - """ - def formatter = NumberFormat.getCurrencyInstance(); - return [ - 'plays_value': ctx.payload.money_makers.stream() - .map(t-> formatter.format(t.total_value) + ' for the play ' + t.play) - .collect(Collectors.joining(", ")) - ] - """ - }, - "logging" : { - "text" : "The following plays contain the highest grossing total income: {{ctx.payload.plays_value}}" - } - }, - "log_duds" : { - "condition": { - "script" : "return ctx.payload.duds.size() > 0" - }, - "transform": { - "script" : - """ - def formatter = NumberFormat.getCurrencyInstance(); - return [ - 'plays_value': ctx.payload.duds.stream() - .map(t-> formatter.format(t.total_value) + ' for the play ' + t.play) - .collect(Collectors.joining(", ")) - ] - """ - }, - "logging" : { - "text" : "The following plays need more advertising due to their low total income: {{ctx.payload.plays_value}}" - } + "condition": { + "script": { + "source": """ + return ctx.payload.aggregations.by_category.buckets.size() > 0; + """ } - } - } -} -``` -% TEST[setup:seats] - -The following example shows the use of metadata and transforming dates into a readable format. - -```console -POST _watcher/watch/_execute -{ - "watch" : { - "metadata" : { "min_hits": 10 }, - "trigger" : { "schedule" : { "interval" : "24h" } }, - "input" : { - "search" : { - "request" : { - "indices" : [ "seats" ], - "body" : { - "query" : { - "term": { "sold": "true"} - }, - "aggs" : { - "theatres" : { - "terms" : { "field" : "play" }, - "aggs" : { - "money" : { - "sum": { "field" : "cost" } - } - } - } - } + }, + "transform": { + "script": { + "source": """ +/* + Process the aggregation buckets to: + 1. Calculate total revenue across all categories. + 2. Build a list of categories with: + - name + - sales amount (rounded to 2 decimals) + - alert flag if revenue exceeds threshold from ctx.metadata. + 3. Return the processed data along with the watch execution time. + */ + + def categories = []; + def total = 0.0; + + for (bucket in ctx.payload.aggregations.by_category.buckets) { + def revenue = bucket.revenue.value; + total += revenue; + + categories.add([ + 'name': bucket.key, + 'sales': Math.round(revenue * 100) / 100.0, + 'alert': revenue > ctx.metadata.alert_threshold + ]); } - } + + return [ + 'total_sales': Math.round(total * 100) / 100.0, + 'categories': categories, + 'execution_time': ctx.execution_time + ]; + """ } }, - "condition" : { - "script" : - """ - return ctx.payload.hits.total > ctx.metadata.min_hits - """ - }, - "transform" : { - "script" : - """ - def theDate = ZonedDateTime.ofInstant(ctx.execution_time.toInstant(), ctx.execution_time.getZone()); - return ['human_date': DateTimeFormatter.RFC_1123_DATE_TIME.format(theDate), - 'aggregations': ctx.payload.aggregations] - """ - }, - "actions" : { - "my_log" : { - "logging" : { - "text" : "The watch was successfully executed on {{ctx.payload.human_date}} and contained {{ctx.payload.aggregations.theatres.buckets.size}} buckets" + "actions": { + "notify": { + "logging": { + "text": """ + Daily Sales Report - {{ctx.payload.execution_time}} + Total Revenue: ${{ctx.payload.total_sales}} + + Categories: + {{#ctx.payload.categories}} + - {{name}}: ${{sales}} {{#alert}}⚠️ HIGH{{/alert}} + {{/ctx.payload.categories}} + """ } } } } } ``` -% TEST[setup:seats] From 328012a18f04c0fbe4331e745882088a68b38fac Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Tue, 25 Nov 2025 10:52:16 -0500 Subject: [PATCH 18/20] link fix --- .../scripting-languages/painless/painless-context-examples.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reference/scripting-languages/painless/painless-context-examples.md b/docs/reference/scripting-languages/painless/painless-context-examples.md index 37da35117fe2c..0966e47494ae0 100644 --- a/docs/reference/scripting-languages/painless/painless-context-examples.md +++ b/docs/reference/scripting-languages/painless/painless-context-examples.md @@ -197,7 +197,7 @@ Here’s an example of a complete eCommerce order document with two products (ba `products.discount_amount` ([`half_float`](/reference/elasticsearch/mapping-reference/number.md)): Discount amounts applied. - `products.discount_percentage` ([`half_float`](/reference/elasticsearch/mapping-reference/number)) : Percentage discounts applied. + `products.discount_percentage` ([`half_float`](/reference/elasticsearch/mapping-reference/number.md)) : Percentage discounts applied. `products.unit_discount_amount` ([`half_float`](/reference/elasticsearch/mapping-reference/number.md)): Discount amount per unit. From 969700f80126adc47587ae6977fc25ff95fdc1d3 Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Tue, 25 Nov 2025 16:05:10 -0500 Subject: [PATCH 19/20] style / format fixes --- .../how-painless-dispatches-function.md | 4 +- .../painless/painless-casting.md | 26 +++---- .../painless/painless-datetime-input.md | 10 +-- .../painless-datetime-modification.md | 2 +- ...ainless-datetime-parsing-and-formatting.md | 10 +-- .../painless/painless-datetime-pieces.md | 2 +- .../painless-datetime-representation.md | 6 +- .../painless/painless-datetime-zone.md | 4 +- .../painless/painless-debugging.md | 6 +- .../painless/painless-keywords.md | 2 +- .../painless-language-specification.md | 7 +- .../painless/painless-operators-array.md | 12 +-- .../painless/painless-operators-boolean.md | 60 +++++++-------- .../painless/painless-operators-general.md | 22 +++--- .../painless/painless-operators-numeric.md | 74 +++++++++---------- .../painless/painless-operators-reference.md | 34 ++++----- .../painless/painless-regexes.md | 2 +- .../painless/painless-statements.md | 10 +-- .../painless/painless-types.md | 22 +++--- .../painless/painless-variables.md | 2 +- ...ainless-walkthrough-regular-expressions.md | 2 +- 21 files changed, 160 insertions(+), 159 deletions(-) diff --git a/docs/reference/scripting-languages/painless/how-painless-dispatches-function.md b/docs/reference/scripting-languages/painless/how-painless-dispatches-function.md index 43dea9236ca44..d761d01ddce18 100644 --- a/docs/reference/scripting-languages/painless/how-painless-dispatches-function.md +++ b/docs/reference/scripting-languages/painless/how-painless-dispatches-function.md @@ -45,9 +45,9 @@ This renaming pattern occurs throughout the Painless API when adapting Java stan We have a few justifications for this different way of dispatching methods: -1. It makes operating on `def` types simpler and, presumably, faster. Using receiver, name and arity means that when Painless sees a call on a `def` object it can dispatch the appropriate method without having to do expensive comparisons of the types of the parameters. The same is true for invocation with `def` typed parameters. +1. It makes operating on `def` types simpler and, presumably, faster. Using receiver, name, and arity means that when Painless sees a call on a `def` object it can dispatch the appropriate method without having to do expensive comparisons of the types of the parameters. The same is true for invocation with `def` typed parameters. 2. It keeps things consistent. It would be genuinely weird for Painless to behave like Groovy if any `def` typed parameters were involved and Java otherwise. It’d be slow for Painless to behave like Groovy all the time. -3. It keeps Painless maintainable. Adding the Java or Groovy like method dispatch **feels** like it’d add a lot of complexity, which would make maintenance and other improvements much more difficult. +3. It keeps Painless maintainable. Adding the Java or Groovy like method dispatch feels like it’d add a lot of complexity, which would make maintenance and other improvements much more difficult. ## Next steps diff --git a/docs/reference/scripting-languages/painless/painless-casting.md b/docs/reference/scripting-languages/painless/painless-casting.md index 51be0c6f088ee..706afd8bdff63 100644 --- a/docs/reference/scripting-languages/painless/painless-casting.md +++ b/docs/reference/scripting-languages/painless/painless-casting.md @@ -28,7 +28,7 @@ cast: '(' TYPE ')' expression **Examples** -* Valid casts. +* Valid casts ```painless int i = (int)5L; <1> @@ -60,7 +60,7 @@ The allowed casts for values of each numeric type are shown as a row in the foll **Examples** -* Valid numeric type casts. +* Valid numeric type casts ```painless int a = 1; <1> @@ -74,7 +74,7 @@ The allowed casts for values of each numeric type are shown as a row in the foll 3. declare `short c`; load from `b` → `long 1`; explicit cast `long 1` to `short 1` → `short 1`; store `short 1` value to `c` 4. declare `double e`; load from `a` → `int 1`; explicit cast `int 1` to `double 1.0`; store `double 1.0` to `e`; (note the explicit cast is extraneous since an implicit cast is valid) -* Invalid numeric type casts resulting in errors. +* Invalid numeric type casts resulting in errors ```painless int a = 1.0; // error <1> @@ -94,7 +94,7 @@ A [reference type](/reference/scripting-languages/painless/painless-types.md#ref **Examples** -* Valid reference type casts. +* Valid reference type casts ```painless List x; <1> @@ -110,7 +110,7 @@ A [reference type](/reference/scripting-languages/painless/painless-types.md#ref 4. load from `x` → `List reference`; explicit cast `List reference` to `ArrayList reference` → `ArrayList reference`; store `ArrayList reference` to `y`; 5. load from `y` → `ArrayList reference`; explicit cast `ArrayList reference` to `List reference` → `List reference`; store `List reference` to `x`; (note the explicit cast is extraneous, and an implicit cast is valid) -* Invalid reference type casts resulting in errors. +* Invalid reference type casts resulting in errors ```painless List x = new ArrayList(); <1> @@ -134,7 +134,7 @@ An implicit or explicit cast from an original `def` type value to any target typ **Examples** -* Valid dynamic type casts with any original type to a target `def` type. +* Valid dynamic type casts with any original type to a target `def` type ```painless def d0 = 3; <1> @@ -150,7 +150,7 @@ An implicit or explicit cast from an original `def` type value to any target typ 4. declare `def d1`; load from `o` → `Object reference`; implicit cast `Object reference` to `def` → `def`; store `def` to `d1` 5. declare `int i`; load from `d1` → `def`; implicit cast `def` to `HashMap reference` → HashMap reference`; call `size` on `HashMap reference` → `int 0`; store `int 0` to `i`; (note `def` was implicit cast to `HashMap reference` since `HashMap` is the child-most descendant type value that the `def` type value represents) -* Valid dynamic type casts with an original `def` type to any target type. +* Valid dynamic type casts with an original `def` type to any target type ```painless def d = 1.0; <1> @@ -168,7 +168,7 @@ An implicit or explicit cast from an original `def` type value to any target typ 5. allocate `ArrayList` instance → `ArrayList reference`; store `ArrayList reference` to `d`; (note the switch in the type `d` represents from `int` to `ArrayList`) 6. declare `List l`; load from `d` → `def`; implicit cast `def` to `ArrayList reference` → `ArrayList reference`; implicit cast `ArrayList reference` to `List reference` → `List reference`; store `List reference` to `l` -* Invalid dynamic type casts resulting in errors. +* Invalid dynamic type casts resulting in errors ```painless def d = 1; <1> @@ -195,7 +195,7 @@ Use the cast operator to convert a [`String` type](/reference/scripting-language **Examples** -* Casting string literals into `char` type values. +* Casting string literals into `char` type values ```painless char c = (char)"C"; <1> @@ -205,7 +205,7 @@ Use the cast operator to convert a [`String` type](/reference/scripting-language 1. declare `char c`; explicit cast `String "C"` to `char C` → `char C`; store `char C` to `c` 2. explicit cast `String 'c'` to `char c` → `char c`; store `char c` to `c` -* Casting a `String` reference into a `char` type value. +* Casting a `String` reference into a `char` type value ```painless String s = "s"; <1> @@ -223,7 +223,7 @@ Use the cast operator to convert a [`char` type](/reference/scripting-languages/ **Examples** -* Casting a `String` reference into a `char` type value. +* Casting a `String` reference into a `char` type value ```painless char c = 65; <1> @@ -253,7 +253,7 @@ Explicit boxing/unboxing is not allowed. Use the reference type API to explicitl **Examples** -* Uses of implicit boxing/unboxing. +* Uses of implicit boxing/unboxing ```painless List l = new ArrayList(); <1> @@ -293,7 +293,7 @@ Promotion is when a single value is implicitly cast to a certain type or multipl **Examples** -* Uses of promotion. +* Uses of promotion ```painless double d = 2 + 2.0; <1> diff --git a/docs/reference/scripting-languages/painless/painless-datetime-input.md b/docs/reference/scripting-languages/painless/painless-datetime-input.md index e3b553bcba178..8458c5b6fe808 100644 --- a/docs/reference/scripting-languages/painless/painless-datetime-input.md +++ b/docs/reference/scripting-languages/painless/painless-datetime-input.md @@ -63,7 +63,7 @@ Use the [params section](docs-content://explore-analyze/scripting/modules-script ZonedDateTime zdt = ZonedDateTime.parse(datetime, dtf); <1> ``` - 1. Note the use of a custom DateTimeFormatter. + 1. This uses a custom `DateTimeFormatter`. @@ -93,7 +93,7 @@ Use an original [source](/reference/elasticsearch/mapping-reference/mapping-sour ZonedDateTime zdt = ZonedDateTime.ofInstant(instant, ZoneId.of('Z')); ``` - 1. Note access to `_source` is dependent on the Painless context. + 1. Access to `_source` is dependent on the Painless context. * Parse a string datetime from a sourced document to a complex datetime @@ -114,8 +114,8 @@ Use an original [source](/reference/elasticsearch/mapping-reference/mapping-sour ZonedDateTime zdt = ZonedDateTime.parse(datetime); <2> ``` - 1. Note access to `_source` is dependent on the Painless context. - 2. Note the parse method uses ISO 8601 by default. + 1. Access to `_source` is dependent on the Painless context. + 2. The parse method uses ISO 8601 by default. @@ -157,7 +157,7 @@ Use an indexed document as a script input to access a complex datetime for a spe String output = input.format(DateTimeFormatter.ISO_INSTANT); <1> ``` - 1. Note the use of a built-in DateTimeFormatter. + 1. This uses a built-in `DateTimeFormatter`. * Find the difference between two complex datetimes from an indexed document diff --git a/docs/reference/scripting-languages/painless/painless-datetime-modification.md b/docs/reference/scripting-languages/painless/painless-datetime-modification.md index f845c671fef85..59f452dacdd9b 100644 --- a/docs/reference/scripting-languages/painless/painless-datetime-modification.md +++ b/docs/reference/scripting-languages/painless/painless-datetime-modification.md @@ -8,7 +8,7 @@ products: # Datetime Modification [_datetime_modification] -Use either a numeric datetime or a complex datetime to do modification such as adding several seconds to a datetime or subtracting several days from a datetime. Use standard [numeric operators](/reference/scripting-languages/painless/painless-operators-numeric.md) to modify a numeric datetime. Use [methods](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared-java-time.html#painless-api-reference-shared-ZonedDateTime) (or fields) to modify a complex datetime. Note many complex datetimes are immutable so upon modification a new complex datetime is created that requires [assignment](/reference/scripting-languages/painless/painless-variables.md#variable-assignment) or immediate use. +Use either a numeric datetime or a complex datetime to do modifications such as adding several seconds to a datetime or subtracting several days from a datetime. Use standard [numeric operators](/reference/scripting-languages/painless/painless-operators-numeric.md) to modify a numeric datetime. Use [methods](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared-java-time.html#painless-api-reference-shared-ZonedDateTime) (or fields) to modify a complex datetime. Many complex datetimes are immutable, so upon modification a new complex datetime is created that requires [assignment](/reference/scripting-languages/painless/painless-variables.md#variable-assignment) or immediate use. ## Datetime modification examples [_datetime_modification_examples] diff --git a/docs/reference/scripting-languages/painless/painless-datetime-parsing-and-formatting.md b/docs/reference/scripting-languages/painless/painless-datetime-parsing-and-formatting.md index 91c9ae81d180a..e9cfe16c8d48a 100644 --- a/docs/reference/scripting-languages/painless/painless-datetime-parsing-and-formatting.md +++ b/docs/reference/scripting-languages/painless/painless-datetime-parsing-and-formatting.md @@ -30,7 +30,7 @@ A [DateTimeFormatter](https://www.elastic.co/guide/en/elasticsearch/painless/cur ZonedDateTime zdt = ZonedDateTime.parse(datetime); <1> ``` - 1. Note the parse method uses ISO 8601 by default. + 1. The parse method uses ISO 8601 by default. * Parse from RFC 1123: @@ -40,7 +40,7 @@ A [DateTimeFormatter](https://www.elastic.co/guide/en/elasticsearch/painless/cur DateTimeFormatter.RFC_1123_DATE_TIME); <1> ``` - 1. Note the use of a built-in DateTimeFormatter. + 1. This uses a built-in `DateTimeFormatter`. * Parse from a custom format: @@ -51,7 +51,7 @@ A [DateTimeFormatter](https://www.elastic.co/guide/en/elasticsearch/painless/cur ZonedDateTime zdt = ZonedDateTime.parse(datetime, dtf); <1> ``` - 1. Note the use of a custom DateTimeFormatter. + 1. This uses a custom `DateTimeFormatter`. @@ -65,7 +65,7 @@ A [DateTimeFormatter](https://www.elastic.co/guide/en/elasticsearch/painless/cur String datetime = zdt.format(DateTimeFormatter.ISO_INSTANT); <1> ``` - 1. Note the use of a built-in DateTimeFormatter. + 1. This uses a built-in `DateTimeFormatter`. * Format to a custom format: @@ -77,5 +77,5 @@ A [DateTimeFormatter](https://www.elastic.co/guide/en/elasticsearch/painless/cur String datetime = zdt.format(dtf); <1> ``` - 1. Note the use of a custom DateTimeFormatter. + 1. This uses a custom `DateTimeFormatter`. diff --git a/docs/reference/scripting-languages/painless/painless-datetime-pieces.md b/docs/reference/scripting-languages/painless/painless-datetime-pieces.md index fd58ccb13b372..eee74a4c612ce 100644 --- a/docs/reference/scripting-languages/painless/painless-datetime-pieces.md +++ b/docs/reference/scripting-languages/painless/painless-datetime-pieces.md @@ -8,7 +8,7 @@ products: # Datetime Pieces [_datetime_pieces] -Datetime representations often contain the data to extract individual datetime pieces such as year, hour, timezone, etc. Use individual pieces of a datetime to create a complex datetime, and use a complex datetime to extract individual pieces. +Datetime representations often contain the data to extract individual datetime pieces such as year, hour, timezone, and so on. Use individual pieces of a datetime to create a complex datetime, and use a complex datetime to extract individual pieces. ## Datetime Pieces Examples [_datetime_pieces_examples] diff --git a/docs/reference/scripting-languages/painless/painless-datetime-representation.md b/docs/reference/scripting-languages/painless/painless-datetime-representation.md index ff5e27359d557..cbeb265238cca 100644 --- a/docs/reference/scripting-languages/painless/painless-datetime-representation.md +++ b/docs/reference/scripting-languages/painless/painless-datetime-representation.md @@ -11,13 +11,13 @@ products: Datetimes in Painless are most commonly represented as a numeric value, a string value, or a complex value. numeric -: A datetime representation as a number from a starting offset called an epoch; in Painless this is typically a [long](/reference/scripting-languages/painless/painless-types.md#primitive-types) as milliseconds since an epoch of `1970-01-01 00:00:00` Zulu Time +: A datetime representation as a number from a starting offset called an epoch; in Painless this is typically a [long](/reference/scripting-languages/painless/painless-types.md#primitive-types) as milliseconds since an epoch of `1970-01-01 00:00:00` Zulu Time. string -: A datetime representation as a sequence of characters defined by a standard format or a custom format; in Painless this is typically a [String](/reference/scripting-languages/painless/painless-types.md#string-type) of the standard format [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) +: A datetime representation as a sequence of characters defined by a standard format or a custom format; in Painless this is typically a [String](/reference/scripting-languages/painless/painless-types.md#string-type) of the standard format [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). complex -: A datetime representation as a complex type ([object](/reference/scripting-languages/painless/painless-types.md#reference-types)) that abstracts away internal details of how the datetime is stored and often provides utilities for modification and comparison; in Painless this is typically a [ZonedDateTime](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared-java-time.html#painless-api-reference-shared-ZonedDateTime) +: A datetime representation as a complex type ([object](/reference/scripting-languages/painless/painless-types.md#reference-types)) that abstracts away internal details of how the datetime is stored and often provides utilities for modification and comparison; in Painless this is typically a [ZonedDateTime](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared-java-time.html#painless-api-reference-shared-ZonedDateTime). Switching between different representations of datetimes is often necessary to achieve a script’s objectives. A typical pattern in a script is to switch a numeric or string datetime to a complex datetime, modify or compare the complex datetime, and then switch it back to a numeric or string datetime for storage or to return a result. diff --git a/docs/reference/scripting-languages/painless/painless-datetime-zone.md b/docs/reference/scripting-languages/painless/painless-datetime-zone.md index 9e1c869fd6fe8..59a0ff3bd0267 100644 --- a/docs/reference/scripting-languages/painless/painless-datetime-zone.md +++ b/docs/reference/scripting-languages/painless/painless-datetime-zone.md @@ -8,7 +8,7 @@ products: # Datetime zone [_datetime_zone] -Both string datetimes and complex datetimes have a timezone with a default of `UTC`. Numeric datetimes do not have enough explicit information to have a timezone, so `UTC` is always assumed. Use [methods](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared-java-time.html#painless-api-reference-shared-ZonedDateTime) (or fields) in conjunction with a [ZoneId](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared-java-time.html#painless-api-reference-shared-ZoneId) to change the timezone for a complex datetime. Parse a string datetime into a complex datetime to change the timezone, and then format the complex datetime back into a desired string datetime. Note many complex datetimes are immutable so upon modification a new complex datetime is created that requires [assignment](/reference/scripting-languages/painless/painless-variables.md#variable-assignment) or immediate use. +Both string datetimes and complex datetimes have a timezone with a default of `UTC`. Numeric datetimes do not have enough explicit information to have a timezone, so `UTC` is always assumed. Use [methods](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared-java-time.html#painless-api-reference-shared-ZonedDateTime) (or fields) in conjunction with a [ZoneId](https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-api-reference-shared-java-time.html#painless-api-reference-shared-ZoneId) to change the timezone for a complex datetime. Parse a string datetime into a complex datetime to change the timezone, and then format the complex datetime back into a desired string datetime. Many complex datetimes are immutable, so upon modification a new complex datetime is created that requires [assignment](/reference/scripting-languages/painless/painless-variables.md#variable-assignment) or immediate use. ## Datetime zone examples [_datetime_zone_examples] @@ -31,6 +31,6 @@ Both string datetimes and complex datetimes have a timezone with a default of `U String pstString = pstZdt.format(DateTimeFormatter.RFC_1123_DATE_TIME); ``` - 1. Note the use of a built-in DateTimeFormatter. + 1. This uses a built-in `DateTimeFormatter`. diff --git a/docs/reference/scripting-languages/painless/painless-debugging.md b/docs/reference/scripting-languages/painless/painless-debugging.md index 7493f8683321d..e85ab4623fae0 100644 --- a/docs/reference/scripting-languages/painless/painless-debugging.md +++ b/docs/reference/scripting-languages/painless/painless-debugging.md @@ -28,9 +28,9 @@ Scripts cannot access: ## Debug methods available -Painless scripts do not provide interactive debugging tools or a REPL. The only official method for inspecting objects and their types during script execution is by means of the`Debug.explain(object)`. This method ***throws an informative exception*** that reveals the object's type and value. As a result, your script will not complete normally; instead, you will see an error message in the response. +Painless scripts do not provide interactive debugging tools or a REPL. The only official method for inspecting objects and their types during script execution is by means of the`Debug.explain(object)`. This method throws an informative exception that reveals the object's type and value. As a result, your script does not complete normally; instead, you an error message is included in the response. -Custom exceptions (for example, `throw new RuntimeException(...)`) can be used to signal specific conditions or control execution flow but do not provide detailed object inspection. For comprehensive debugging, always use `Debug.explain()`. +You can use custom exceptions (for example, `throw new RuntimeException(...)`) to signal specific conditions or control execution flow but do not provide detailed object inspection. For comprehensive debugging, always use `Debug.explain()`. ## Debugging walkthrough @@ -38,7 +38,7 @@ This section demonstrates a common debugging scenario using a script that format ### Step 1: Run the failing script -The following script attempts to create a formatted price string from the [ecommerce dataset](/reference/scripting-languages/painless/painless-context-examples.md). The script appears logical but will fail: +The following script attempts to create a formatted price string from the [ecommerce dataset](/reference/scripting-languages/painless/painless-context-examples.md). The script appears logical but fails: ```json GET /kibana_sample_data_ecommerce/_search diff --git a/docs/reference/scripting-languages/painless/painless-keywords.md b/docs/reference/scripting-languages/painless/painless-keywords.md index 58bdaa2911bad..57985f8cc033b 100644 --- a/docs/reference/scripting-languages/painless/painless-keywords.md +++ b/docs/reference/scripting-languages/painless/painless-keywords.md @@ -17,7 +17,7 @@ Keywords are reserved tokens for built-in language features in Painless. These s In Painless documentation, "keywords" refers to reserved words in the scripting language itself. They are different from the {{es}} [`keyword`](/reference/elasticsearch/mapping-reference/keyword.md#keyword-field-type) field type, which is used for exact-value searches and aggregations in your data mappings. ::: -When you write Painless scripts, keywords provide the fundamental building blocks for creating logic, defining data types, and controlling program flow. Since these words have special significance to the Painless compiler, attempting to use them for other purposes will result in compilation errors. +When you write Painless scripts, keywords provide the fundamental building blocks for creating logic, defining data types, and controlling program flow. Since these words have special significance to the Painless compiler, attempting to use them for other purposes results in compilation errors. ### List of keywords: diff --git a/docs/reference/scripting-languages/painless/painless-language-specification.md b/docs/reference/scripting-languages/painless/painless-language-specification.md index 823e46459f998..ed10c6c76547d 100644 --- a/docs/reference/scripting-languages/painless/painless-language-specification.md +++ b/docs/reference/scripting-languages/painless/painless-language-specification.md @@ -34,9 +34,9 @@ Painless scripts are parsed and compiled using the [ANTLR4](https://www.antlr.or ### Step breakdown: -1. **Script input:** Painless code embedded in the JSON queries -2. **Compilation:** ANTLR4 and ASM libraries parse and compile the script into JVM bytecode -3. **Execution:** Bytecode runs on the standard Java Virtual Machine +1. **Script input:** Painless code is embedded in JSON queries. +2. **Compilation:** ANTLR4 and ASM libraries parse and compile the script into JVM bytecode. +3. **Execution:** Bytecode runs on the standard Java Virtual Machine. This documentation presents the Painless language syntax in an educational format, optimized for developer understanding. The underlying grammar, however, is implemented using more concise ANTLR4 rules for efficient parsing. @@ -57,6 +57,7 @@ Understanding context-syntax relationships is essential for effective Painless d :::{image} images/painless-integration-points.png :alt: Painless integration-points ::: +Double-click to expand the image. ### Where to write Painless scripts: diff --git a/docs/reference/scripting-languages/painless/painless-operators-array.md b/docs/reference/scripting-languages/painless/painless-operators-array.md index 482e9263ed88f..85fa79a31b26f 100644 --- a/docs/reference/scripting-languages/painless/painless-operators-array.md +++ b/docs/reference/scripting-languages/painless/painless-operators-array.md @@ -30,7 +30,7 @@ expression_list: expression (',' expression); **Example:** -* Array initialization with static values. +* Array initialization with static values ```painless int[] x = new int[] {1, 2, 3}; <1> @@ -75,7 +75,7 @@ brace_access: '[' expression ']' **Examples** -* Array access with a single-dimensional array. +* Array access with a single-dimensional array ```painless int[] x = new int[2]; <1> @@ -93,7 +93,7 @@ brace_access: '[' expression ']' 5. declare `int z`; store `int 1` to `z`; 6. declare `int i`; load from `x` → `1-d int array reference`; load from `z` → `int 1`; load from `index [1]` of `1-d int array reference` → `int 5`; store `int 5` to `i`; -* Array access with the `def` type. +* Array access with the `def` type ```painless def d = new int[2]; <1> @@ -111,7 +111,7 @@ brace_access: '[' expression ']' 5. declare `def y`; implicit cast `int 1` to `def` → `def`; store `def` to `y`; 6. declare `int i`; load from `d` → `def` implicit cast `def` to `1-d int array reference` → `1-d int array reference`; load from `y` → `def`; implicit cast `def` to `int 1` → `int 1`; load from `index [1]` of `1-d int array reference` → `int 5`; implicit cast `int 5` to `def`; store `def` to `z`; -* Array access with a multi-dimensional array. +* Array access with a multi-dimensional array ```painless int[][][] ia3 = new int[2][3][4]; <1> @@ -131,7 +131,7 @@ An array type value contains a read-only member field named `length`. The `lengt **Examples** -* Access the `length` field. +* Access the `length` field ```painless int[] x = new int[10]; <1> @@ -159,7 +159,7 @@ new_array: 'new' TYPE ('[' expression ']')+; **Examples** -* Allocation of different array types. +* Allocation of different array types ```painless int[] x = new int[5]; <1> diff --git a/docs/reference/scripting-languages/painless/painless-operators-boolean.md b/docs/reference/scripting-languages/painless/painless-operators-boolean.md index 3bf20ad6e358d..7cd6a1fac4d18 100644 --- a/docs/reference/scripting-languages/painless/painless-operators-boolean.md +++ b/docs/reference/scripting-languages/painless/painless-operators-boolean.md @@ -33,7 +33,7 @@ boolean_not: '!' expression; **Examples** -* Boolean not with the `boolean` type. +* Boolean not with the `boolean` type ```painless boolean x = !false; <1> @@ -43,7 +43,7 @@ boolean_not: '!' expression; 1. declare `boolean x`; boolean not `boolean false` → `boolean true`; store `boolean true` to `x` 2. declare `boolean y`; load from `x` → `boolean true`; boolean not `boolean true` → `boolean false`; store `boolean false` to `y` -* Boolean not with the `def` type. +* Boolean not with the `def` type ```painless def y = true; <1> @@ -85,7 +85,7 @@ greater_than: expression '>' expression; **Examples** -* Greater than with different numeric types. +* Greater than with different numeric types ```painless boolean x = 5 > 4; <1> @@ -97,7 +97,7 @@ greater_than: expression '>' expression; 2. declare `double y`; store `double 6.0` to `y`; 3. load from `y` → `double 6.0 @0`; promote `int 6` and `double 6.0`: result `double`; implicit cast `int 6` to `double 6.0 @1` → `double 6.0 @1`; greater than `double 6.0 @1` and `double 6.0 @0` → `boolean false`; store `boolean false` to `x` -* Greater than with `def` type. +* Greater than with `def` type ```painless int x = 5; <1> @@ -143,7 +143,7 @@ greater_than_or_equal: expression '>=' expression; **Examples** -* Greater than or equal with different numeric types. +* Greater than or equal with different numeric types ```painless boolean x = 5 >= 4; <1> @@ -201,7 +201,7 @@ less_than: expression '<' expression; **Examples** -* Less than with different numeric types. +* Less than with different numeric types ```painless boolean x = 5 < 4; <1> @@ -259,7 +259,7 @@ greater_than_or_equal: expression '<=' expression; **Examples** -* Less than or equal with different numeric types. +* Less than or equal with different numeric types ```painless boolean x = 5 <= 4; <1> @@ -303,7 +303,7 @@ instance_of: ID 'instanceof' TYPE; **Examples** -* Instance of with different reference types. +* Instance of with different reference types ```painless Map m = new HashMap(); <1> @@ -362,7 +362,7 @@ equality_equals: expression '==' expression; **Examples** -* Equality equals with the `boolean` type. +* Equality equals with the `boolean` type ```painless boolean a = true; <1> @@ -376,7 +376,7 @@ equality_equals: expression '==' expression; 3. load from `a` → `boolean true`; equality equals `boolean true` and `boolean false` → `boolean false`; store `boolean false` to `a` 4. load from `a` → `boolean false @0`; load from `b` → `boolean false @1`; equality equals `boolean false @0` and `boolean false @1` → `boolean false`; store `boolean false` to `b` -* Equality equals with primitive types. +* Equality equals with primitive types ```painless int a = 1; <1> @@ -390,7 +390,7 @@ equality_equals: expression '==' expression; 3. declare `boolean c`; load from `a` → `int 1`; load from `b` → `double 2.0`; promote `int 1` and `double 2.0`: result `double`; implicit cast `int 1` to `double 1.0` → `double `1.0`; equality equals `double 1.0` and `double 2.0` → `boolean false`; store `boolean false` to `c` 4. load from `a` → `int 1 @1`; equality equals `int 1 @0` and `int 1 @1` → `boolean true`; store `boolean true` to `c` -* Equal equals with reference types. +* Equal equals with reference types ```painless List a = new ArrayList(); <1> @@ -408,7 +408,7 @@ equality_equals: expression '==' expression; 5. load from `b` → `List reference`; call `add` on `List reference` with arguments (`int 1`) 6. load from `a` → `List reference @0`; load from `b` → `List reference @1`; call `equals` on `List reference @0` with arguments (`List reference @1`) → `boolean true`; store `boolean true` to `c` -* Equality equals with `null`. +* Equality equals with `null` ```painless Object a = null; <1> @@ -426,7 +426,7 @@ equality_equals: expression '==' expression; 5. allocate `Object` instance → `Object reference`; store `Object reference` to `b` 6. load from `a` → `Object reference`; load from `b` → `null`; call `equals` on `Object reference` with arguments (`null`) → `boolean false`; store `boolean false` to `c` -* Equality equals with the `def` type. +* Equality equals with the `def` type ```painless def a = 0; <1> @@ -479,7 +479,7 @@ equality_not_equals: expression '!=' expression; **Examples** -* Equality not equals with the `boolean` type. +* Equality not equals with the `boolean` type ```painless boolean a = true; <1> @@ -493,7 +493,7 @@ equality_not_equals: expression '!=' expression; 3. load from `a` → `boolean true`; equality not equals `boolean true` and `boolean false` → `boolean true`; store `boolean true` to `a` 4. load from `a` → `boolean true`; load from `b` → `boolean false`; equality not equals `boolean true` and `boolean false` → `boolean true`; store `boolean true` to `b` -* Equality not equals with primitive types. +* Equality not equals with primitive types ```painless int a = 1; <1> @@ -507,7 +507,7 @@ equality_not_equals: expression '!=' expression; 3. declare `boolean c`; load from `a` → `int 1`; load from `b` → `double 2.0`; promote `int 1` and `double 2.0`: result `double`; implicit cast `int 1` to `double 1.0` → `double `1.0`; equality not equals `double 1.0` and `double 2.0` → `boolean true`; store `boolean true` to `c` 4. load from `a` → `int 1 @1`; equality not equals `int 1 @0` and `int 1 @1` → `boolean false`; store `boolean false` to `c` -* Equality not equals with reference types. +* Equality not equals with reference types ```painless List a = new ArrayList(); <1> @@ -525,7 +525,7 @@ equality_not_equals: expression '!=' expression; 5. load from `b` → `List reference`; call `add` on `List reference` with arguments (`int 1`) 6. load from `a` → `List reference @0`; load from `b` → `List reference @1`; call `equals` on `List reference @0` with arguments (`List reference @1`) → `boolean true`; boolean not `boolean true` → `boolean false`; store `boolean false` to `c` -* Equality not equals with `null`. +* Equality not equals with `null` ```painless Object a = null; <1> @@ -543,7 +543,7 @@ equality_not_equals: expression '!=' expression; 5. allocate `Object` instance → `Object reference`; store `Object reference` to `b` 6. load from `a` → `Object reference`; load from `b` → `null`; call `equals` on `Object reference` with arguments (`null`) → `boolean false`; boolean not `boolean false` → `boolean true`; store `boolean true` to `c` -* Equality not equals with the `def` type. +* Equality not equals with the `def` type ```painless def a = 0; <1> @@ -596,7 +596,7 @@ identity_equals: expression '===' expression; **Examples** -* Identity equals with reference types. +* Identity equals with reference types ```painless List a = new ArrayList(); <1> @@ -612,7 +612,7 @@ identity_equals: expression '===' expression; 4. declare `boolean c`; load from `a` → `List reference @0`; load from `b` → `List reference @1`; identity equals `List reference @0` and `List reference @1` → `boolean false` store `boolean false` to `c` 5. load from `a` → `List reference @0`; load from `c` → `List reference @1`; identity equals `List reference @0` and `List reference @1` → `boolean true` store `boolean true` to `c` (note `List reference @0` and `List reference @1` refer to the same instance) -* Identity equals with `null`. +* Identity equals with `null` ```painless Object a = null; <1> @@ -630,7 +630,7 @@ identity_equals: expression '===' expression; 5. allocate `Object` instance → `Object reference`; store `Object reference` to `b` 6. load from `a` → `Object reference`; load from `b` → `null`; identity equals `Object reference` and `null` → `boolean false`; store `boolean false` to `c` -* Identity equals with the `def` type. +* Identity equals with the `def` type ```painless def a = new HashMap(); <1> @@ -681,7 +681,7 @@ identity_not_equals: expression '!==' expression; **Examples** -* Identity not equals with reference type values. +* Identity not equals with reference type values ```painless List a = new ArrayList(); <1> @@ -697,7 +697,7 @@ identity_not_equals: expression '!==' expression; 4. declare `boolean c`; load from `a` → `List reference @0`; load from `b` → `List reference @1`; identity not equals `List reference @0` and `List reference @1` → `boolean true` store `boolean true` to `c` 5. load from `a` → `List reference @0`; load from `c` → `List reference @1`; identity not equals `List reference @0` and `List reference @1` → `boolean false` store `boolean false` to `c` (note `List reference @0` and `List reference @1` refer to the same instance) -* Identity not equals with `null`. +* Identity not equals with `null` ```painless Object a = null; <1> @@ -715,7 +715,7 @@ identity_not_equals: expression '!==' expression; 5. allocate `Object` instance → `Object reference`; store `Object reference` to `b` 6. load from `a` → `Object reference`; load from `b` → `null`; identity not equals `Object reference` and `null` → `boolean true`; store `boolean true` to `c` -* Identity not equals with the `def` type. +* Identity not equals with the `def` type ```painless def a = new HashMap(); <1> @@ -757,7 +757,7 @@ boolean_xor: expression '^' expression; **Examples** -* Boolean xor with the `boolean` type. +* Boolean xor with the `boolean` type ```painless boolean x = false; <1> @@ -769,7 +769,7 @@ boolean_xor: expression '^' expression; 2. declare `boolean y`; load from `x` → `boolean false` boolean xor `boolean false` and `boolean true` → `boolean true`; store `boolean true` to `y` 3. load from `y` → `boolean true @0`; load from `x` → `boolean true @1`; boolean xor `boolean true @0` and `boolean true @1` → `boolean false`; store `boolean false` to `y` -* Boolean xor with the `def` type. +* Boolean xor with the `def` type ```painless def x = false; <1> @@ -807,7 +807,7 @@ boolean_and: expression '&&' expression; **Examples** -* Boolean and with the `boolean` type. +* Boolean and with the `boolean` type ```painless boolean x = true; <1> @@ -821,7 +821,7 @@ boolean_and: expression '&&' expression; 3. store `boolean false` to `x` 4. load from `y` → `boolean true`; load from `x` → `boolean false`; boolean and `boolean true` and `boolean false` → `boolean false`; store `boolean false` to `y` -* Boolean and with the `def` type. +* Boolean and with the `def` type ```painless def x = true; <1> @@ -861,7 +861,7 @@ boolean_and: expression '||' expression; **Examples** -* Boolean or with the `boolean` type. +* Boolean or with the `boolean` type ```painless boolean x = false; <1> @@ -875,7 +875,7 @@ boolean_and: expression '||' expression; 3. store `boolean false` to `y` 4. load from `y` → `boolean false @0`; load from `x` → `boolean false @1`; boolean or `boolean false @0` and `boolean false @1` → `boolean false`; store `boolean false` to `y` -* Boolean or with the `def` type. +* Boolean or with the `def` type ```painless def x = false; <1> diff --git a/docs/reference/scripting-languages/painless/painless-operators-general.md b/docs/reference/scripting-languages/painless/painless-operators-general.md index dd8b8216fded4..e990b7b3861f6 100644 --- a/docs/reference/scripting-languages/painless/painless-operators-general.md +++ b/docs/reference/scripting-languages/painless/painless-operators-general.md @@ -22,7 +22,7 @@ precedence: '(' expression ')'; **Examples** -* Precedence with numeric operators. +* Precedence with numeric operators ```painless int x = (5+4)*6; <1> @@ -46,7 +46,7 @@ function_call: ID '(' ( expression (',' expression)* )? ')''; **Examples** -* A function call. +* A function call ```painless int add(int x, int y) { <1> @@ -100,7 +100,7 @@ conditional: expression '?' expression ':' expression; **Examples** -* Evaluation of conditionals. +* Evaluation of conditionals ```java boolean b = true; @@ -153,7 +153,7 @@ non-static member fields: * List z ``` -* Field assignments of different type values. +* Field assignments of different type values ```painless Example example = new Example(); <1> @@ -167,7 +167,7 @@ non-static member fields: 3. load from `example` → `Example reference`; implicit cast `double 2.0` to `def` → `def`; store `def` to `y` of `Example reference` 4. load from `example` → `Example reference`; allocate `ArrayList` instance → `ArrayList reference`; implicit cast `ArrayList reference` to `List reference` → `List reference`; store `List reference` to `z` of `Example reference` -* A field assignment from a field access. +* A field assignment from a field access ```painless Example example = new Example(); <1> @@ -224,11 +224,11 @@ The table below shows the available operators for use in a compound assignment. compound_assignment: ( ID | field ) '$=' expression; ``` -Note the use of the `$=` represents the use of any of the possible binary operators. +The use of the `$=` represents the use of any of the possible binary operators. **Examples** -* Compound assignment for each numeric operator. +* Compound assignment for each numeric operator ```painless int i = 10; <1> @@ -258,7 +258,7 @@ Note the use of the `$=` represents the use of any of the possible binary operat 11. load from `i` → `int 1`; bitwise xor `int 1` and `int 12` → `int 13`; store `int 13` to `i`; (note this is equivalent to `i = i^2`) 12. load from `i` → `int 13`; bitwise or `int 13` and `int 2` → `int 15`; store `int 15` to `i`; (note this is equivalent to `i = i|2`) -* Compound assignment for each boolean operator. +* Compound assignment for each boolean operator ```painless boolean b = true; <1> @@ -272,7 +272,7 @@ Note the use of the `$=` represents the use of any of the possible binary operat 3. load from `b` → `boolean false`; boolean xor `boolean false` and `boolean false` → `boolean false`; store `boolean false` to `b`; (note this is equivalent to `b = b ^ false`) 4. load from `b` → `boolean true`; boolean or `boolean false` and `boolean true` → `boolean true`; store `boolean true` to `b`; (note this is equivalent to `b = b || true`) -* A compound assignment with the string concatenation operator. +* A compound assignment with the string concatenation operator ```painless String s = 'compound'; <1> @@ -282,7 +282,7 @@ Note the use of the `$=` represents the use of any of the possible binary operat 1. declare `String s`; store `String 'compound'` to `s`; 2. load from `s` → `String 'compound'`; string concat `String 'compound'` and `String ' assignment''` → `String 'compound assignment'`; store `String 'compound assignment'` to `s`; (note this is equivalent to `s = s + ' assignment'`) -* A compound assignment with the `def` type. +* A compound assignment with the `def` type ```painless def x = 1; <1> @@ -292,7 +292,7 @@ Note the use of the `$=` represents the use of any of the possible binary operat 1. declare `def x`; implicit cast `int 1` to `def`; store `def` to `x`; 2. load from `x` → `def`; implicit cast `def` to `int 1` → `int 1`; add `int 1` and `int 2` → `int 3`; implicit cast `int 3` to `def` → `def`; store `def` to `x`; (note this is equivalent to `x = x+2`) -* A compound assignment with an extra implicit cast. +* A compound assignment with an extra implicit cast ```painless byte b = 1; <1> diff --git a/docs/reference/scripting-languages/painless/painless-operators-numeric.md b/docs/reference/scripting-languages/painless/painless-operators-numeric.md index f01ee2fcc7037..c558d656f1192 100644 --- a/docs/reference/scripting-languages/painless/painless-operators-numeric.md +++ b/docs/reference/scripting-languages/painless/painless-operators-numeric.md @@ -39,7 +39,7 @@ post_increment: ( variable | field ) '++'; **Examples** -* Post increment with different numeric types. +* Post increment with different numeric types ```painless short i = 0; <1> @@ -55,7 +55,7 @@ post_increment: ( variable | field ) '++'; 4. declare `long k`; store default `long 0` to `k` 5. load from `j` → `long 1`; store `long 1` to `k`; add `long 1` and `long 1` → `long 2`; store `long 2` to `j` -* Post increment with the `def` type. +* Post increment with the `def` type ```painless def x = 1; <1> @@ -96,7 +96,7 @@ post_decrement: ( variable | field ) '--'; **Examples** -* Post decrement with different numeric types. +* Post decrement with different numeric types ```painless short i = 0; <1> @@ -112,7 +112,7 @@ post_decrement: ( variable | field ) '--'; 4. declare `long k`; store default `long 0` to `k` 5. load from `j` → `long 1`; store `long 1` to `k`; subtract `long 1` from `long 1` → `long 0`; store `long 0` to `j` -* Post decrement with the `def` type. +* Post decrement with the `def` type ```painless def x = 1; <1> @@ -153,7 +153,7 @@ pre_increment: '++' ( variable | field ); **Examples** -* Pre increment with different numeric types. +* Pre increment with different numeric types ```painless short i = 0; <1> @@ -169,7 +169,7 @@ pre_increment: '++' ( variable | field ); 4. declare `long k`; store default `long 0` to `k` 5. load from `j` → `long 1`; add `long 1` and `long 1` → `long 2`; store `long 2` to `j`; store `long 2` to `k` -* Pre increment with the `def` type. +* Pre increment with the `def` type ```painless def x = 1; <1> @@ -210,7 +210,7 @@ pre_decrement: '--' ( variable | field ); **Examples** -* Pre decrement with different numeric types. +* Pre decrement with different numeric types ```painless short i = 0; <1> @@ -226,7 +226,7 @@ pre_decrement: '--' ( variable | field ); 4. declare `long k`; store default `long 0` to `k` 5. load from `j` → `long 1`; subtract `long 1` from `long 1` → `long 0`; store `long 0` to `j` store `long 0` to `k`; -* Pre decrement operator with the `def` type. +* Pre decrement operator with the `def` type ```painless def x = 1; <1> @@ -254,7 +254,7 @@ unary_positive: '+' expression; **Examples** -* Unary positive with different numeric types. +* Unary positive with different numeric types ```painless int x = +1; <1> @@ -264,7 +264,7 @@ unary_positive: '+' expression; 1. declare `int x`; identity `int 1` → `int 1`; store `int 1` to `x` 2. declare `long y`; load from `x` → `int 1`; identity `int 1` → `int 1`; implicit cast `int 1` to `long 1` → `long 1`; store `long 1` to `y` -* Unary positive with the `def` type. +* Unary positive with the `def` type ```painless def z = +1; <1> @@ -292,7 +292,7 @@ unary_negative: '-' expression; **Examples** -* Unary negative with different numeric types. +* Unary negative with different numeric types ```painless int x = -1; <1> @@ -302,7 +302,7 @@ unary_negative: '-' expression; 1. declare `int x`; negate `int 1` → `int -1`; store `int -1` to `x` 2. declare `long y`; load from `x` → `int 1`; negate `int -1` → `int 1`; implicit cast `int 1` to `long 1` → `long 1`; store `long 1` to `y` -* Unary negative with the `def` type. +* Unary negative with the `def` type ```painless def z = -1; <1> @@ -348,7 +348,7 @@ bitwise_not: '~' expression; **Examples** -* Bitwise not with different numeric types. +* Bitwise not with different numeric types ```painless byte b = 1; <1> @@ -360,7 +360,7 @@ bitwise_not: '~' expression; 2. declare `int i`; load from `b` → `byte 1`; implicit cast `byte 1` to `int 1` → `int 1`; bitwise not `int 1` → `int -2`; store `int -2` to `i` 3. declare `long l`; load from `i` → `int -2`; implicit cast `int -2` to `long -2` → `long -2`; bitwise not `long -2` → `long 1`; store `long 1` to `l` -* Bitwise not with the `def` type. +* Bitwise not with the `def` type ```painless def d = 1; <1> @@ -402,7 +402,7 @@ multiplication: expression '*' expression; **Examples** -* Multiplication with different numeric types. +* Multiplication with different numeric types ```painless int i = 5*4; <1> @@ -412,7 +412,7 @@ multiplication: expression '*' expression; 1. declare `int i`; multiply `int 4` by `int 5` → `int 20`; store `int 20` in `i` 2. declare `double d`; load from `int i` → `int 20`; promote `int 20` and `double 7.0`: result `double`; implicit cast `int 20` to `double 20.0` → `double 20.0`; multiply `double 20.0` by `double 7.0` → `double 140.0`; store `double 140.0` to `d` -* Multiplication with the `def` type. +* Multiplication with the `def` type ```painless def x = 5*4; <1> @@ -455,7 +455,7 @@ division: expression '/' expression; **Examples** -* Division with different numeric types. +* Division with different numeric types ```painless int i = 29/4; <1> @@ -465,7 +465,7 @@ division: expression '/' expression; 1. declare `int i`; divide `int 29` by `int 4` → `int 7`; store `int 7` in `i` 2. declare `double d`; load from `int i` → `int 7`; promote `int 7` and `double 7.0`: result `double`; implicit cast `int 7` to `double 7.0` → `double 7.0`; divide `double 7.0` by `double 7.0` → `double 1.0`; store `double 1.0` to `d` -* Division with the `def` type. +* Division with the `def` type ```painless def x = 5/4; <1> @@ -507,7 +507,7 @@ remainder: expression '%' expression; **Examples** -* Remainder with different numeric types. +* Remainder with different numeric types ```painless int i = 29%4; <1> @@ -517,7 +517,7 @@ remainder: expression '%' expression; 1. declare `int i`; remainder `int 29` by `int 4` → `int 1`; store `int 7` in `i` 2. declare `double d`; load from `int i` → `int 1`; promote `int 1` and `double 7.0`: result `double`; implicit cast `int 1` to `double 1.0` → `double 1.0`; remainder `double 1.0` by `double 7.0` → `double 1.0`; store `double 1.0` to `d` -* Remainder with the `def` type. +* Remainder with the `def` type ```painless def x = 5%4; <1> @@ -559,7 +559,7 @@ addition: expression '+' expression; **Examples** -* Addition operator with different numeric types. +* Addition operator with different numeric types ```painless int i = 29+4; <1> @@ -569,7 +569,7 @@ addition: expression '+' expression; 1. declare `int i`; add `int 29` and `int 4` → `int 33`; store `int 33` in `i` 2. declare `double d`; load from `int i` → `int 33`; promote `int 33` and `double 7.0`: result `double`; implicit cast `int 33` to `double 33.0` → `double 33.0`; add `double 33.0` and `double 7.0` → `double 40.0`; store `double 40.0` to `d` -* Addition with the `def` type. +* Addition with the `def` type ```painless def x = 5+4; <1> @@ -611,7 +611,7 @@ subtraction: expression '-' expression; **Examples** -* Subtraction with different numeric types. +* Subtraction with different numeric types ```painless int i = 29-4; <1> @@ -621,7 +621,7 @@ subtraction: expression '-' expression; 1. declare `int i`; subtract `int 4` from `int 29` → `int 25`; store `int 25` in `i` 2. declare `double d` load from `int i` → `int 25`; promote `int 25` and `double 7.5`: result `double`; implicit cast `int 25` to `double 25.0` → `double 25.0`; subtract `double 33.0` by `double 7.5` → `double 25.5`; store `double 25.5` to `d` -* Subtraction with the `def` type. +* Subtraction with the `def` type ```painless def x = 5-4; <1> @@ -663,7 +663,7 @@ The left-hand side integer type value is promoted as specified in the table belo **Examples** -* Left shift with different integer types. +* Left shift with different integer types ```painless int i = 4 << 1; <1> @@ -673,7 +673,7 @@ The left-hand side integer type value is promoted as specified in the table belo 1. declare `int i`; left shift `int 4` by `int 1` → `int 8`; store `int 8` in `i` 2. declare `long l` load from `int i` → `int 8`; implicit cast `long 2` to `int 2` → `int 2`; left shift `int 8` by `int 2` → `int 32`; implicit cast `int 32` to `long 32` → `long 32`; store `long 32` to `l` -* Left shift with the `def` type. +* Left shift with the `def` type ```painless def x = 4 << 2; <1> @@ -715,7 +715,7 @@ The left-hand side integer type value is promoted as specified in the table belo **Examples** -* Right shift with different integer types. +* Right shift with different integer types ```painless int i = 32 >> 1; <1> @@ -725,7 +725,7 @@ The left-hand side integer type value is promoted as specified in the table belo 1. declare `int i`; right shift `int 32` by `int 1` → `int 16`; store `int 16` in `i` 2. declare `long l` load from `int i` → `int 16`; implicit cast `long 2` to `int 2` → `int 2`; right shift `int 16` by `int 2` → `int 4`; implicit cast `int 4` to `long 4` → `long 4`; store `long 4` to `l` -* Right shift with the `def` type. +* Right shift with the `def` type ```painless def x = 16 >> 2; <1> @@ -767,7 +767,7 @@ The left-hand side integer type value is promoted as specified in the table belo **Examples** -* Unsigned right shift with different integer types. +* Unsigned right shift with different integer types ```painless int i = -1 >>> 29; <1> @@ -777,7 +777,7 @@ The left-hand side integer type value is promoted as specified in the table belo 1. declare `int i`; unsigned right shift `int -1` by `int 29` → `int 7`; store `int 7` in `i` 2. declare `long l` load from `int i` → `int 7`; implicit cast `long 2` to `int 2` → `int 2`; unsigned right shift `int 7` by `int 2` → `int 3`; implicit cast `int 3` to `long 3` → `long 3`; store `long 3` to `l` -* Unsigned right shift with the `def` type. +* Unsigned right shift with the `def` type ```painless def x = 16 >>> 2; <1> @@ -825,7 +825,7 @@ bitwise_and: expression '&' expression; **Examples** -* Bitwise and with different integer types. +* Bitwise and with different integer types ```painless int i = 5 & 6; <1> @@ -835,7 +835,7 @@ bitwise_and: expression '&' expression; 1. declare `int i`; bitwise and `int 5` and `int 6` → `int 4`; store `int 4` in `i` 2. declare `long l` load from `int i` → `int 4`; promote `int 4` and `long 5`: result `long`; implicit cast `int 4` to `long 4` → `long 4`; bitwise and `long 4` and `long 5` → `long 4`; store `long 4` to `l` -* Bitwise and with the `def` type. +* Bitwise and with the `def` type ```painless def x = 15 & 6; <1> @@ -853,7 +853,7 @@ Use the `bitwise xor operator '^'` to XOR together each bit within two integer t **Errors** -* If either of the values is a non-integer type. +* If either of the values is a non-integer type **Bits** @@ -885,7 +885,7 @@ bitwise_xor: expression '^' expression; **Examples** -* Bitwise xor with different integer types. +* Bitwise xor with different integer types ```painless int i = 5 ^ 6; <1> @@ -895,7 +895,7 @@ bitwise_xor: expression '^' expression; 1. declare `int i`; bitwise xor `int 5` and `int 6` → `int 3`; store `int 3` in `i` 2. declare `long l` load from `int i` → `int 4`; promote `int 3` and `long 5`: result `long`; implicit cast `int 3` to `long 3` → `long 3`; bitwise xor `long 3` and `long 5` → `long 6`; store `long 6` to `l` -* Bitwise xor with the `def` type. +* Bitwise xor with the `def` type ```painless def x = 15 ^ 6; <1> @@ -945,7 +945,7 @@ bitwise_or: expression '|' expression; **Examples** -* Bitwise or with different integer types. +* Bitwise or with different integer types ```painless int i = 5 | 6; <1> @@ -955,7 +955,7 @@ bitwise_or: expression '|' expression; 1. declare `int i`; bitwise or `int 5` and `int 6` → `int 7`; store `int 7` in `i` 2. declare `long l` load from `int i` → `int 7`; promote `int 7` and `long 8`: result `long`; implicit cast `int 7` to `long 7` → `long 7`; bitwise or `long 7` and `long 8` → `long 15`; store `long 15` to `l` -* Bitwise or with the `def` type. +* Bitwise or with the `def` type ```painless def x = 5 ^ 6; <1> diff --git a/docs/reference/scripting-languages/painless/painless-operators-reference.md b/docs/reference/scripting-languages/painless/painless-operators-reference.md index 79386635a9c45..36d94cb200ba9 100644 --- a/docs/reference/scripting-languages/painless/painless-operators-reference.md +++ b/docs/reference/scripting-languages/painless/painless-operators-reference.md @@ -32,7 +32,7 @@ arguments: '(' (expression (',' expression)*)? ')'; **Examples** -* Method calls on different reference types. +* Method calls on different reference types ```painless Map m = new HashMap(); <1> @@ -81,7 +81,7 @@ non-static member fields: * List z ``` -* Field access with the `Example` type. +* Field access with the `Example` type ```painless Example example = new Example(); <1> @@ -137,7 +137,7 @@ non-static member fields: * List x ``` -* Null safe without a `null` value. +* Null safe without a `null` value ```painless Example example = new Example(); <1> @@ -147,7 +147,7 @@ non-static member fields: 1. declare `Example example`; allocate `Example` instance → `Example reference`; store `Example reference` to `example` 2. declare `List x`; load from `example` → `Example reference`; null safe call `factory` on `Example reference` → `List reference`; store `List reference` to `x`; -* Null safe with a `null` value; +* Null safe with a `null` value ```painless Example example = null; <1> @@ -172,7 +172,7 @@ list_initialization: '[' expression (',' expression)* ']' **Examples** -* List initialization of an empty `List` type value. +* List initialization of an empty `List` type value ```painless List empty = []; <1> @@ -180,7 +180,7 @@ list_initialization: '[' expression (',' expression)* ']' 1. declare `List empty`; allocate `ArrayList` instance → `ArrayList reference`; implicit cast `ArrayList reference` to `List reference` → `List reference`; store `List reference` to `empty` -* List initialization with static values. +* List initialization with static values ```painless List list = [1, 2, 3]; <1> @@ -188,7 +188,7 @@ list_initialization: '[' expression (',' expression)* ']' 1. declare `List list`; allocate `ArrayList` instance → `ArrayList reference`; call `add` on `ArrayList reference` with arguments(`int 1`); call `add` on `ArrayList reference` with arguments(`int 2`); call `add` on `ArrayList reference` with arguments(`int 3`); implicit cast `ArrayList reference` to `List reference` → `List reference`; store `List reference` to `list` -* List initialization with non-static values. +* List initialization with non-static values ```painless int i = 1; <1> @@ -225,7 +225,7 @@ list_access: '[' expression ']' **Examples** -* List access with the `List` type. +* List access with the `List` type ```painless List list = new ArrayList(); <1> @@ -249,7 +249,7 @@ list_access: '[' expression ']' 8. declare `int y`; store `int 1` int `y` 9. declare `int z`; load from `list` → `List reference`; load from `y` → `int 1`; call `get` on `List reference` with arguments(`int 1`) → `def`; implicit cast `def` to `int 5` → `int 5`; store `int 5` to `z` -* List access with the `def` type. +* List access with the `def` type ```painless def d = new ArrayList(); <1> @@ -289,7 +289,7 @@ key_pair: expression ':' expression **Examples** -* Map initialization of an empty `Map` type value. +* Map initialization of an empty `Map` type value ```painless Map empty = [:]; <1> @@ -297,7 +297,7 @@ key_pair: expression ':' expression 1. declare `Map empty`; allocate `HashMap` instance → `HashMap reference`; implicit cast `HashMap reference` to `Map reference` → `Map reference`; store `Map reference` to `empty` -* Map initialization with static values. +* Map initialization with static values ```painless Map map = [1:2, 3:4, 5:6]; <1> @@ -305,7 +305,7 @@ key_pair: expression ':' expression 1. declare `Map map`; allocate `HashMap` instance → `HashMap reference`; call `put` on `HashMap reference` with arguments(`int 1`, `int 2`); call `put` on `HashMap reference` with arguments(`int 3`, `int 4`); call `put` on `HashMap reference` with arguments(`int 5`, `int 6`); implicit cast `HashMap reference` to `Map reference` → `Map reference`; store `Map reference` to `map` -* Map initialization with non-static values. +* Map initialization with non-static values ```painless byte b = 0; <1> @@ -343,7 +343,7 @@ map_access: '[' expression ']' **Examples** -* Map access with the `Map` type. +* Map access with the `Map` type ```painless Map map = new HashMap(); <1> @@ -361,7 +361,7 @@ map_access: '[' expression ']' 5. declare `String y`; store `String 'value5'` to `y` 6. declare `int z`; load from `map` → `Map reference`; load from `y` → `String 'value5'`; call `get` on `Map reference` with arguments(`String 'value5'`) → `def`; implicit cast `def` to `int 5` → `int 5`; store `int 5` to `z` -* Map access with the `def` type. +* Map access with the `def` type ```painless def d = new HashMap(); <1> @@ -401,7 +401,7 @@ new_instance: 'new' TYPE '(' (expression (',' expression)*)? ')'; **Examples** -* Allocation of new instances with different types. +* Allocation of new instances with different types ```painless Map m = new HashMap(); <1> @@ -427,7 +427,7 @@ concatenate: expression '+' expression; **Examples** -* String concatenation with different primitive types. +* String concatenation with different primitive types ```painless String x = "con"; <1> @@ -467,7 +467,7 @@ elvis: expression '?:' expression; **Examples** -* Elvis with different reference types. +* Elvis with different reference types ```painless List x = new ArrayList(); <1> diff --git a/docs/reference/scripting-languages/painless/painless-regexes.md b/docs/reference/scripting-languages/painless/painless-regexes.md index fcb634227d44f..d4f40dfc03fa4 100644 --- a/docs/reference/scripting-languages/painless/painless-regexes.md +++ b/docs/reference/scripting-languages/painless/painless-regexes.md @@ -10,7 +10,7 @@ products: # Regexes [painless-regexes] -Regular expression constants are directly supported. To ensure fast performance, this is the only mechanism for creating patterns. Regular expressions are always constants and compiled efficiently a single time. +Regular expression constants are directly supported. To ensure fast performance, this is the only mechanism for creating patterns. Regular expressions are always constants and are compiled a single time for efficiency. % You can check out the [regular expressions tutorial](docs-content://explore-analyze/scripting/modules-scripting-regular-expressions-tutorial.md) for related examples, and for help with troubleshooting, refer to [regex pattern matching failures](docs-content://troubleshoot/elasticsearch/painless-regex-pattern-matching-failures.md). diff --git a/docs/reference/scripting-languages/painless/painless-statements.md b/docs/reference/scripting-languages/painless/painless-statements.md index dab1afe585ad2..7d53c57ebf4a7 100644 --- a/docs/reference/scripting-languages/painless/painless-statements.md +++ b/docs/reference/scripting-languages/painless/painless-statements.md @@ -64,13 +64,13 @@ Loop statements allow you to repeat running code multiple times, either for a sp ### For -Painless supports both traditional `for` loops and enhanced `for` loops (`for-each`). Use for loops to iterate through data collections or repeat operations a specific number of times. +Painless supports both traditional `for` loops and enhanced `for` loops (`for-each`). Use `for` loops to iterate through data collections or repeat operations a specific number of times. #### Examples * Traditional for loop: - The following loop creates an empty array with 4 positions and assigns a value from 0 to 3 to each position. + The following loop creates an empty array with four positions and assigns a value from `0` to `3` to each position. ```java int[] arr = new int[4]; @@ -82,7 +82,7 @@ Painless supports both traditional `for` loops and enhanced `for` loops (`for-ea return arr; // [0, 1, 2, 3] ``` -* Enhanced for loop (for-each): +* Enhanced `for` loop (for-each): The following code snippets create a list containing letters. Using a `for-each` loop, they concatenate the letters into a single string called `word`. @@ -97,7 +97,7 @@ Painless supports both traditional `for` loops and enhanced `for` loops (`for-ea return word; // hello ``` -* Alternative for loop syntax: +* Alternative `for` loop syntax: ```java List letters = ["h", "e", "l", "l", "o"]; @@ -116,7 +116,7 @@ Use `while` loops to repeat running code as long as a specified condition remain #### Example -Similar to the first example for the `for` statement, this one assigns a number from 0 to 3 to each position of an array with 4 elements using a `while` loop. +Similar to the first example for the `for` statement, this one assigns a number from `0` to `3` to each position of an array with four elements using a `while` loop. ```java int[] arr = new int[4]; diff --git a/docs/reference/scripting-languages/painless/painless-types.md b/docs/reference/scripting-languages/painless/painless-types.md index ca27e4d788e23..ec5356326f6de 100644 --- a/docs/reference/scripting-languages/painless/painless-types.md +++ b/docs/reference/scripting-languages/painless/painless-types.md @@ -52,7 +52,7 @@ The following primitive types are available. The corresponding reference type is **Examples** -* Primitive types used in declaration, declaration and assignment. +* Primitive types used in declaration, declaration and assignment ```painless int i = 1; <1> @@ -64,7 +64,7 @@ The following primitive types are available. The corresponding reference type is 2. declare `double d`; store default `double 0.0` to `d` 3. declare `boolean b`; store `boolean true` to `b` -* Method call on a primitive type using the corresponding reference type. +* Method call on a primitive type using the corresponding reference type ```painless int i = 1; <1> @@ -94,12 +94,12 @@ char x = (char) "a"; Use the cast operator to convert a [string-type](/reference/scripting-languages/painless/painless-types.md#string-type) value into a `char`\-type value. -#### Errors +**Errors** * If the `String` type value isn’t one character in length. * If the `String` type value is `null`. -#### Examples +**Examples** * Casting string literals into `char` type values @@ -168,7 +168,7 @@ A reference type object follows a basic inheritance model. Consider types A and **Examples** -* Reference types evaluated in several different operations. +* Reference types evaluated in several different operations ```painless List l = new ArrayList(); <1> @@ -196,7 +196,7 @@ A reference type object follows a basic inheritance model. Consider types A and 4. load from `l1` → `List reference`; implicit cast `int 2` to `def` → `def` call `add` on `List reference` with arguments (`def`) 5. declare `int i`; load from `l0` → `List reference`; call `get` on `List reference` with arguments (`int 0`) → `def @0`; implicit cast `def @0` to `int 1` → `int 1`; load from `l1` → `List reference`; call `get` on `List reference` with arguments (`int 1`) → `def @1`; implicit cast `def @1` to `int 2` → `int 2`; add `int 1` and `int 2` → `int 3`; store `int 3` to `i`; -* Using the static members of a reference type. +* Using the static members of a reference type ```painless int i = Integer.MAX_VALUE; <1> @@ -222,7 +222,7 @@ Using the `def` type can have a slight impact on performance. Use only primitive **Examples** -* General uses of the `def` type. +* General uses of the `def` type ```painless def dp = 1; <1> @@ -254,7 +254,7 @@ The `String` type is a specialized reference type that does not require explicit **Examples** -* General use of the `String` type. +* General use of the `String` type ```painless String r = "some text"; <1> @@ -276,7 +276,7 @@ The `void` type represents the concept of a lack of type. Use the `void` type to **Examples** -* Use of the `void` type in a function. +* Use of the `void` type in a function ```painless void addToList(List l, def d) { @@ -298,7 +298,7 @@ When an array type instance is allocated with multiple dimensions using the rang **Examples** -* General use of single-dimensional arrays. +* General use of single-dimensional arrays ```painless int[] x; <1> @@ -314,7 +314,7 @@ When an array type instance is allocated with multiple dimensions using the rang 4. load from `y` → `1-d float array reference`; store `float 1.0` to `index [9]` of `1-d float array reference` 5. load from `y` → `1-d float array reference @0`; load from `index [9]` of `1-d float array reference @0` → `float 1.0`; load from `z` → `def`; implicit cast `def` to `1-d float array reference @1` → `1-d float array reference @1`; store `float 1.0` to `index [0]` of `1-d float array reference @1` -* General use of a multi-dimensional array. +* General use of a multi-dimensional array ```painless int[][][] ia3 = new int[2][3][4]; <1> diff --git a/docs/reference/scripting-languages/painless/painless-variables.md b/docs/reference/scripting-languages/painless/painless-variables.md index d5940f36a9664..df2f734d2129a 100644 --- a/docs/reference/scripting-languages/painless/painless-variables.md +++ b/docs/reference/scripting-languages/painless/painless-variables.md @@ -18,7 +18,7 @@ In Painless, every variable must be declared with a specific type before you can Painless supports three main categories of variable types: -* **Primitive types** for basic data such as `int`, `double`, `boolean`, and `char`. These store simple values directly and have default values (0 for numbers, false for boolean). +* **Primitive types** for basic data such as `int`, `double`, `boolean`, and `char`. These store simple values directly and have default values (`0` for numbers, `false` for boolean). * **Reference types** for complex objects such as `String`, `list`, `map`, and array types like `int[]`. These store references to objects and default to `null` when not initialized. * **Dynamic type** with `def` that can represent any type of value, determined at runtime. This provides flexibility when the exact type isn’t known in advance. diff --git a/docs/reference/scripting-languages/painless/painless-walkthrough-regular-expressions.md b/docs/reference/scripting-languages/painless/painless-walkthrough-regular-expressions.md index 69078254eb2cf..3d063e8bb2af1 100644 --- a/docs/reference/scripting-languages/painless/painless-walkthrough-regular-expressions.md +++ b/docs/reference/scripting-languages/painless/painless-walkthrough-regular-expressions.md @@ -116,5 +116,5 @@ POST hockey/_update_by_query } ``` -Note: all of the `_update_by_query` examples above could really do with a `query` to limit the data that they pull back. While you **could** use a [script query](/reference/query-languages/query-dsl/query-dsl-script-query.md) it wouldn’t be as efficient as using any other query because script queries aren’t able to use the inverted index to limit the documents that they have to check. +Note: all of the `_update_by_query` examples above could really do with a `query` to limit the data that they pull back. While you could use a [script query](/reference/query-languages/query-dsl/query-dsl-script-query.md) it wouldn’t be as efficient as using any other query because script queries aren’t able to use the inverted index to limit the documents that they have to check. From 36a2cacd674b27cd352510b85ab3ebd9ed6fce68 Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Wed, 26 Nov 2025 14:18:55 -0500 Subject: [PATCH 20/20] more edits --- ...s-bucket-frequent-item-sets-aggregation.md | 2 +- .../painless-analysis-predicate-context.md | 4 +-- .../painless-bucket-script-agg-context.md | 2 +- .../painless-bucket-selector-agg-context.md | 2 +- .../painless/painless-context-examples.md | 8 +++--- .../painless/painless-contexts.md | 25 ++++++++++++------- .../painless/painless-field-context.md | 2 +- .../painless/painless-filter-context.md | 4 +-- .../painless-ingest-processor-context.md | 2 +- .../painless-metric-agg-combine-context.md | 10 ++++---- .../painless-metric-agg-init-context.md | 13 +++++----- .../painless-metric-agg-map-context.md | 10 ++++---- .../painless-metric-agg-reduce-context.md | 10 ++++---- .../painless-min-should-match-context.md | 2 +- .../painless/painless-reindex-context.md | 2 +- .../painless-runtime-fields-context.md | 2 +- .../painless/painless-score-context.md | 2 +- .../painless/painless-similarity-context.md | 2 +- .../painless/painless-sort-context.md | 2 +- .../painless-update-by-query-context.md | 2 +- .../painless/painless-update-context.md | 2 +- .../painless-watcher-condition-context.md | 4 +-- .../painless-watcher-transform-context.md | 4 +-- .../painless/painless-weight-context.md | 6 ++--- 24 files changed, 65 insertions(+), 59 deletions(-) diff --git a/docs/reference/aggregations/search-aggregations-bucket-frequent-item-sets-aggregation.md b/docs/reference/aggregations/search-aggregations-bucket-frequent-item-sets-aggregation.md index 38fd9a8a39d87..5ace2000a0cb4 100644 --- a/docs/reference/aggregations/search-aggregations-bucket-frequent-item-sets-aggregation.md +++ b/docs/reference/aggregations/search-aggregations-bucket-frequent-item-sets-aggregation.md @@ -73,7 +73,7 @@ Use the filter if you want to narrow the item set analysis to fields of interest ### Examples [frequent-item-sets-example] -In the following examples, we use the e-commerce {{kib}} sample data set. +The following examples use the {{kib}} eCommerce sample data set. ### Aggregation with two analyzed fields and an `exclude` parameter [_aggregation_with_two_analyzed_fields_and_an_exclude_parameter] diff --git a/docs/reference/scripting-languages/painless/painless-analysis-predicate-context.md b/docs/reference/scripting-languages/painless/painless-analysis-predicate-context.md index a4000ed1534a9..a84290cf3567a 100644 --- a/docs/reference/scripting-languages/painless/painless-analysis-predicate-context.md +++ b/docs/reference/scripting-languages/painless/painless-analysis-predicate-context.md @@ -56,9 +56,9 @@ The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painle ## Example -To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). +To run the example, first [install the eCommerce sample data](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). -This example ensures that only properly formatted SKUs are processed. The analyzer checks that SKU codes start with "ZO" and are exactly 13 characters long, filtering out malformed or invalid product codes that could break inventory systems or search functionality. +This example ensures that only properly formatted SKUs are processed. The analyzer checks that SKU codes start with "ZO" and are exactly thirteen characters long, filtering out malformed or invalid product codes that could break inventory systems or search functionality. ```json PUT sku_analysis diff --git a/docs/reference/scripting-languages/painless/painless-bucket-script-agg-context.md b/docs/reference/scripting-languages/painless/painless-bucket-script-agg-context.md index fbf3350778db1..ea8b842d71aa9 100644 --- a/docs/reference/scripting-languages/painless/painless-bucket-script-agg-context.md +++ b/docs/reference/scripting-languages/painless/painless-bucket-script-agg-context.md @@ -31,7 +31,7 @@ The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painle ## Example [_example] -To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). +To run the example, first [install the eCommerce sample data](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). The following request is useful for identifying high-value markets by comparing average order values across countries. It groups orders by country and calculates metrics for each country, including `total_revenue` and `order_count`, then uses a bucket script to compute `revenue_per_order` for performance analysis. diff --git a/docs/reference/scripting-languages/painless/painless-bucket-selector-agg-context.md b/docs/reference/scripting-languages/painless/painless-bucket-selector-agg-context.md index 3775d1cc038b2..763259b313c8b 100644 --- a/docs/reference/scripting-languages/painless/painless-bucket-selector-agg-context.md +++ b/docs/reference/scripting-languages/painless/painless-bucket-selector-agg-context.md @@ -31,7 +31,7 @@ The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painle ## Example [_example_2] -To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). +To run the example, first [install the eCommerce sample data](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). The following request filters out low-performing manufacturers and focuses only on brands with significant sales volume. The query groups orders by manufacturer, counts total orders for each brand, then uses a bucket selector to show only manufacturers with 50 or more orders. diff --git a/docs/reference/scripting-languages/painless/painless-context-examples.md b/docs/reference/scripting-languages/painless/painless-context-examples.md index 0966e47494ae0..1e6bedad91d3c 100644 --- a/docs/reference/scripting-languages/painless/painless-context-examples.md +++ b/docs/reference/scripting-languages/painless/painless-context-examples.md @@ -10,11 +10,11 @@ products: # Context example data (eCommerce) [painless-context-examples] -Complete the following installation steps to index the Sample eCommerce orders data into {{es}}. You can run any of the context examples against this sample data after you configure it. +Complete the following installation steps to index the sample eCommerce orders data into {{es}}. You can run any of the context examples against this sample data after you've configured it. -Each document in this dataset represents a complete eCommerce order. Every order contains complete transaction data including product details, pricing information, customer data, and geographic location. Orders may include multiple products, with product-specific information stored as values within individual fields. +Each document in this dataset represents a complete eCommerce order. Every order contains complete transaction data including product details, pricing information, customer data, and geographic location. Orders might include multiple products, with product-specific information stored as values within individual fields. -## Installing the eCommerce Sample Data [painless-sample-data-install] +## Install the eCommerce sample data [painless-sample-data-install] 1. Go to **Integrations** and search for **Sample Data**. 2. On the **Sample data** page, expand the **Other sample data sets**. @@ -157,7 +157,7 @@ Here’s an example of a complete eCommerce order document with two products (ba * **Order timing** - `day_of_week` ([`keyword`](/reference/elasticsearch/mapping-reference/keyword.md)): Day when the order was placed (Monday, Tuesday, etc.). + `day_of_week` ([`keyword`](/reference/elasticsearch/mapping-reference/keyword.md)): Day when the order was placed (Monday, Tuesday, and so on). `day_of_week_i` ([`integer`](/reference/elasticsearch/mapping-reference/number.md)): Numeric day of week (0-6). diff --git a/docs/reference/scripting-languages/painless/painless-contexts.md b/docs/reference/scripting-languages/painless/painless-contexts.md index 0ac0911a9e431..5887919232591 100644 --- a/docs/reference/scripting-languages/painless/painless-contexts.md +++ b/docs/reference/scripting-languages/painless/painless-contexts.md @@ -10,11 +10,11 @@ products: # Painless contexts [painless-contexts] -**In Painless, a context defines where and how your script runs within {{es}}**. Each context determines three key aspects: which variables are available to your script (such as `doc`, `ctx`, or `_source`), which Java classes and methods your script can access for security, and what type of value your script should return. +In Painless, a context defines where and how your script runs in {{es}}. Each context determines three key aspects: which variables are available to your script (such as `doc`, `ctx`, or `_source`), which Java classes and methods your script can access for security, and what type of value your script should return. ## What are contexts? -Contexts are runtime environments that determine script behavior within specific {{es}} operations. Unlike traditional scripting languages, where code runs consistently everywhere, Painless scripts are context-aware, the same syntax can access different variables and produce different results depending on the {{es}} operation that calls it. +Contexts are runtime environments that determine script behavior within specific {{es}} operations. Unlike traditional scripting languages, where code runs consistently everywhere, Painless scripts are context-aware: the same syntax can access different variables and produce different results depending on the {{es}} operation that calls it. ## How contexts work @@ -22,18 +22,25 @@ Painless supports scripting across numerous {{es}} operations, from search scori Contexts ensure appropriate access and capabilities for each {{es}} operation while maintaining security and performance by providing exactly the inputs and APIs needed for a specific task through fine-grained allowlists and optimized data access patterns. -For example, search scoring contexts provide document fields as input and generate numerical scores as output, while ingest contexts provide documents as input for modification and generate transformed documents as output. Even if some contexts appear similar, each one has its specific tools and restrictions designed for its intended purpose. +For example, search scoring contexts provide document fields as input and generate numerical scores as output, while ingest contexts provide documents as input for modification and generate transformed documents as output. Even if some contexts appear to be similar, each has tools and restrictions designed for a specific purpose. ## Context and data access -Contexts directly determine how you can access document data in Painless scripts: +Contexts determine how you can access document data in Painless scripts: -* **`doc` values:** Read-only field access using columnar storage for search, aggregation, and sorting context -* **`ctx` access:** Document modification capabilities in update, ingest, and reindex context -* **`_source` access:** Complete document JSON for runtime fields and transformations -* **`params`**: User-defined parameters passed into scripts, available across all contexts +**`doc` values:** +: Read-only field access using columnar storage for search, aggregation, and sorting context -For detailed data access patterns and examples, refer to Painless syntax-context bridge. +**`ctx` access:** +: Document modification capabilities in update, ingest, and reindex context + +**`_source` access:** +: Complete document JSON for runtime fields and transformations + +**`params`** +: User-defined parameters passed into scripts, available across all contexts + +For detailed data access patterns and examples, refer to [Painless syntax-context bridge](docs-content://explore-analyze/scripting/painless-syntax-context-bridge.md). ## Context Categories overview diff --git a/docs/reference/scripting-languages/painless/painless-field-context.md b/docs/reference/scripting-languages/painless/painless-field-context.md index 6c73866f6e13e..f423e2502f589 100644 --- a/docs/reference/scripting-languages/painless/painless-field-context.md +++ b/docs/reference/scripting-languages/painless/painless-field-context.md @@ -38,7 +38,7 @@ Both the standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/p ## Example -To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). +To run the example, first [install the eCommerce sample data](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). The first script extracts the day index from the `day_of_week_i` field to determine whether the order was placed on a weekday or during the weekend: diff --git a/docs/reference/scripting-languages/painless/painless-filter-context.md b/docs/reference/scripting-languages/painless/painless-filter-context.md index 350310c6de11c..462b025a7c676 100644 --- a/docs/reference/scripting-languages/painless/painless-filter-context.md +++ b/docs/reference/scripting-languages/painless/painless-filter-context.md @@ -31,12 +31,12 @@ The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painle ## Example -To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). +To run the example, first [install the eCommerce sample data](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). This example filters documents where the average price per item in an order exceeds a minimum threshold of 30\. :::{tip} -Filters answer the question “Does this document match?” with the simple “Yes or No” response. Use filter context for all conditions that don’t need scoring. Refer to [Query and filter context](/reference/query-languages/query-dsl/query-filter-context.md) to learn more. +Filters answer the question “Does this document match?” with a simple “Yes or No” response. Use filter context for all conditions that don’t need scoring. Refer to [Query and filter context](/reference/query-languages/query-dsl/query-filter-context.md) to learn more. ::: ```json diff --git a/docs/reference/scripting-languages/painless/painless-ingest-processor-context.md b/docs/reference/scripting-languages/painless/painless-ingest-processor-context.md index 89bf2981fa716..ae04042ed7f12 100644 --- a/docs/reference/scripting-languages/painless/painless-ingest-processor-context.md +++ b/docs/reference/scripting-languages/painless/painless-ingest-processor-context.md @@ -58,7 +58,7 @@ Both the standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/p ## Example -To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). +To run the example, first [install the eCommerce sample data](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). The following example demonstrates how to use a script inside an ingest pipeline to create a new field named `custom_region_code`. This field combines the `geoip.country_iso_code` and the first two uppercase letters of `geoip.continent_name`. diff --git a/docs/reference/scripting-languages/painless/painless-metric-agg-combine-context.md b/docs/reference/scripting-languages/painless/painless-metric-agg-combine-context.md index 0a9b9ef019d74..52612504fad41 100644 --- a/docs/reference/scripting-languages/painless/painless-metric-agg-combine-context.md +++ b/docs/reference/scripting-languages/painless/painless-metric-agg-combine-context.md @@ -35,7 +35,7 @@ The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painle ## Example -To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). +To run the example, first [install the eCommerce sample data](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). :::{tip}You are viewing Phase 3 of 4 in the scripted metric aggregation pipeline. This combined script runs once per shard to prepare results for the final reduce phase. This is the same complete example shown across all metric aggregation contexts. ::: @@ -43,21 +43,21 @@ To run the example, first follow the [eCommerce sample data installation steps]( In the following example, we build a query that analyzes the data to calculate the total number of products sold across all orders, using the map-reduce pattern where each shard processes documents locally and results are combined into a final total. **Initialization phase (sets up data structures):** -The first code snippet is contained by the `init_script` that initializes an empty array to collect quantity values from each document. Runs once per shard. +The first code snippet is part of the `init_script` that initializes an empty array to collect quantity values from each document. It runs once per shard. ```java state.quantities = [] ``` **Map phase (processes each document):** -The code in the `map_script` section is executed for each document. It extracts the total quantity of products in each order and adds it to the shard's collection array. +The code in the `map_script` section runs for each document. It extracts the total quantity of products in each order and adds it to the shard's collection array. ```java state.quantities.add(doc['total_quantity'].value) ``` **>Combine phase (this context - returns shard results):** -In the `combine_script`, we process all the quantities collected in this shard by iterating through the array and summing all values. This reduces the data sent to the reduce phase from an array of individual quantities to a single total per shard. +The `combine_script` processes all the quantities collected in this shard by iterating through the array and summing all values. This reduces the data sent to the reduce phase from an array of individual quantities to a single total per shard. ```java int shardTotal = 0; @@ -70,4 +70,4 @@ return shardTotal; ``` **Reduce phase (merges all shard results):** -Finally, the `reduce_script` merges results from all shards by iterating through each shard's total and adding the results together to get the grand total of products sold across the entire dataset. +Finally, the `reduce_script` merges results from all shards by iterating through each shard's total, and adds the results together to get the grand total of products sold across the entire dataset. diff --git a/docs/reference/scripting-languages/painless/painless-metric-agg-init-context.md b/docs/reference/scripting-languages/painless/painless-metric-agg-init-context.md index 487e3f4efe723..4a0ab9d4fd19f 100644 --- a/docs/reference/scripting-languages/painless/painless-metric-agg-init-context.md +++ b/docs/reference/scripting-languages/painless/painless-metric-agg-init-context.md @@ -36,30 +36,30 @@ The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painle ## Example -To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). +To run the example, first [install the eCommerce sample data](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). :::{tip} -This example demonstrates a complete scripted metric aggregation pipeline that works across all 4 metric aggregation contexts (initialization -> map -> combine -> reduce). You’ll find this same example in the other metric aggregation contexts, with each highlighting its specific phase. You are viewing Phase 1 of 4 in the scripted metric aggregation pipeline. +This example demonstrates a complete scripted metric aggregation pipeline that works across all four metric aggregation contexts (initialization -> map -> combine -> reduce). You’ll find this same example in the other metric aggregation contexts, with each highlighting its specific phase. You are viewing Phase 1 of 4 in the scripted metric aggregation pipeline. ::: In the following example, we build a query that analyzes the data to calculate the total number of products sold across all orders, using the map-reduce pattern where each shard processes documents locally and results are combined into a final total. **>Initialization phase (this context \- sets up data structures):** -The first code snippet is contained by the init_script that initializes an empty array to collect quantity values from each document. Runs once per shard. +The first code snippet is part of the `init_script` that initializes an empty array to collect quantity values from each document. It runs once per shard. ```java state.quantities = [] ``` **Map phase (processes each document):** -The code in the `map_script` section is run for each document. It extracts the total quantity of products in each order and adds it to the shard's collection array. +The code in the `map_script` section runs for each document. It extracts the total quantity of products in each order and adds it to the shard's collection array. ```java state.quantities.add(doc['total_quantity'].value) ``` **Combine phase (returns shard results):** -In the `combine_script`, we process all the quantities collected in this shard by iterating through the array and summing all values. This reduces the data sent to the reduce phase from an array of individual quantities to a single total per shard. +The `combine_script` processes all the quantities collected in this shard by iterating through the array and summing all values. This reduces the data sent to the reduce phase from an array of individual quantities to a single total per shard. ```java int shardTotal = 0; @@ -70,8 +70,7 @@ return shardTotal; ``` **Reduce phase (merges all shard results):** - -Finally, the `reduce_script` merges results from all shards by iterating through each shard's total and adding the results together to get the grand total of products sold across the entire dataset. +Finally, the `reduce_script` merges results from all shards by iterating through each shard's total, and adds the results together to get the grand total of products sold across the entire dataset. ```java int grandTotal = 0; diff --git a/docs/reference/scripting-languages/painless/painless-metric-agg-map-context.md b/docs/reference/scripting-languages/painless/painless-metric-agg-map-context.md index ff052a62fe098..d01ad51c46e87 100644 --- a/docs/reference/scripting-languages/painless/painless-metric-agg-map-context.md +++ b/docs/reference/scripting-languages/painless/painless-metric-agg-map-context.md @@ -47,7 +47,7 @@ The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painle ## Example -To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). +To run the example, first [install the eCommerce sample data](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). :::{tip} You are viewing Phase 2 of 4 in the scripted metric aggregation pipeline. This combined script runs once per shard to prepare results for the final reduce phase. This is the same complete example shown across all metric aggregation contexts. @@ -56,21 +56,21 @@ You are viewing Phase 2 of 4 in the scripted metric aggregation pipeline. This c In the following example, we build a query that analyzes the data to calculate the total number of products sold across all orders, using the map-reduce pattern where each shard processes documents locally and results are combined into a final total. **Initialization phase (sets up data structures):** -The first code snippet is contained by the init_script that initializes an empty array to collect quantity values from each document. Runs once per shard. +The first code snippet is part of the `init_script` that initializes an empty array to collect quantity values from each document. It runs once per shard. ```java state.quantities = [] ``` **>Map phase (this context - processes each document):** -The code in the `map_script` section is executed for each document. It extracts the total quantity of products in each order and adds it to the shard's collection array. +The code in the `map_script` section runs for each document. It extracts the total quantity of products in each order and adds it to the shard's collection array. ```java state.quantities.add(doc['total_quantity'].value) ``` **Combine phase (returns shard results):** -In the `combine_script`, we process all the quantities collected in this shard by iterating through the array and summing all values. This reduces the data sent to the reduce phase from an array of individual quantities to a single total per shard. +The `combine_script` processes all the quantities collected in this shard by iterating through the array and summing all values. This reduces the data sent to the reduce phase from an array of individual quantities to a single total per shard. ```java int shardTotal = 0; @@ -83,7 +83,7 @@ return shardTotal; ``` **Reduce phase (merges all shard results):** -Finally, the `reduce_script` merges results from all shards by iterating through each shard's total and adding the results together to get the grand total of products sold across the entire dataset. +Finally, the `reduce_script` merges results from all shards by iterating through each shard's total, and adds the results together to get the grand total of products sold across the entire dataset. ```java int grandTotal = 0; diff --git a/docs/reference/scripting-languages/painless/painless-metric-agg-reduce-context.md b/docs/reference/scripting-languages/painless/painless-metric-agg-reduce-context.md index e7b297e8f6bf2..d9bfac19a8ec4 100644 --- a/docs/reference/scripting-languages/painless/painless-metric-agg-reduce-context.md +++ b/docs/reference/scripting-languages/painless/painless-metric-agg-reduce-context.md @@ -35,7 +35,7 @@ The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painle ## Example -To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). +To run the example, first [install the eCommerce sample data](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). :::{tip} You are viewing Phase 4 of 4 in the scripted metric aggregation pipeline. This reduces script runs once on the coordinating node to produce the final result from all shard data. This is the same complete example shown across all metric aggregation contexts. @@ -44,21 +44,21 @@ You are viewing Phase 4 of 4 in the scripted metric aggregation pipeline. This r In the following example, we build a query that analyzes the data to calculate the total number of products sold across all orders, using the map-reduce pattern where each shard processes documents locally and results are combined into a final total. **Initialization phase (sets up data structures):** -The first code snippet is contained by the `init_script` that initializes an empty array to collect quantity values from each document. Runs once per shard. +The first code snippet is part of the `init_script` that initializes an empty array to collect quantity values from each document. It runs once per shard. ```java state.quantities = [] ``` **Map phase (processes each document):** -The code in the `map_script` section is executed for each document. It extracts the total quantity of products in each order and adds it to the shard's collection array. +The code in the `map_script` section runs for each document. It extracts the total quantity of products in each order and adds it to the shard's collection array. ```java state.quantities.add(doc['total_quantity'].value) ``` **Combine phase (returns shard results):** -In the `combine_script`, we process all the quantities collected in this shard by iterating through the array and summing all values. This reduces the data sent to the reduce phase from an array of individual quantities to a single total per shard. +The `combine_script` processes all the quantities collected in this shard by iterating through the array and summing all values. This reduces the data sent to the reduce phase from an array of individual quantities to a single total per shard. ```java int shardTotal = 0; @@ -71,7 +71,7 @@ return shardTotal; ``` **>Reduce phase (this context - merges all shard results):** -Finally, the `reduce_script` merges results from all shards by iterating through each shard's total and adding the results together to get the grand total of products sold across the entire dataset. +Finally, the `reduce_script` merges results from all shards by iterating through each shard's total, and adds the results together to get the grand total of products sold across the entire dataset. ```java int grandTotal = 0; diff --git a/docs/reference/scripting-languages/painless/painless-min-should-match-context.md b/docs/reference/scripting-languages/painless/painless-min-should-match-context.md index d35853c618157..08ea4b514ba3b 100644 --- a/docs/reference/scripting-languages/painless/painless-min-should-match-context.md +++ b/docs/reference/scripting-languages/painless/painless-min-should-match-context.md @@ -34,7 +34,7 @@ The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painle ## Example -To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). +To run the example, first [install the eCommerce sample data](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). This example shows conditional matching requirements. The script checks if a document contains both “Men’s Clothing” and “Men’s Shoes” categories. If this combination exists, only two terms need to match. Otherwise, three terms must match. This creates different qualification thresholds based on document content. diff --git a/docs/reference/scripting-languages/painless/painless-reindex-context.md b/docs/reference/scripting-languages/painless/painless-reindex-context.md index 57e5166f581b2..0f71d6b115d1e 100644 --- a/docs/reference/scripting-languages/painless/painless-reindex-context.md +++ b/docs/reference/scripting-languages/painless/painless-reindex-context.md @@ -66,7 +66,7 @@ The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painle ## Example -To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). +To run the example, first [install the eCommerce sample data](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). The following request copies all documents from the `kibana_sample_data_ecommerce` index to a new index called `data_ecommerce_usd`. During this process, a script is used to convert all monetary values to a new currency using a specified exchange rate in the `params`. diff --git a/docs/reference/scripting-languages/painless/painless-runtime-fields-context.md b/docs/reference/scripting-languages/painless/painless-runtime-fields-context.md index 5d6089a579a26..b0a63dead8979 100644 --- a/docs/reference/scripting-languages/painless/painless-runtime-fields-context.md +++ b/docs/reference/scripting-languages/painless/painless-runtime-fields-context.md @@ -97,7 +97,7 @@ Both the standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/p ## Example -To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). +To run the example, first [install the eCommerce sample data](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). Run the following request to define a runtime field named `full_day_name`. This field contains a script that extracts the day of the week from the `order_date` field and assigns the full day name using the `dayOfWeekEnum` enumeration. The script uses the `emit` function, which is required for runtime fields. diff --git a/docs/reference/scripting-languages/painless/painless-score-context.md b/docs/reference/scripting-languages/painless/painless-score-context.md index 8f7d15fabc6bd..e59a0bc631139 100644 --- a/docs/reference/scripting-languages/painless/painless-score-context.md +++ b/docs/reference/scripting-languages/painless/painless-score-context.md @@ -36,7 +36,7 @@ Both the standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/p ## Example -To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). +To run the example, first [install the eCommerce sample data](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). The following request boosts results for customers in New York, helping highlight local preferences or regional inventory. It uses a `function_score` query to match products with "jeans" in the name and increase their score when the city is New York. diff --git a/docs/reference/scripting-languages/painless/painless-similarity-context.md b/docs/reference/scripting-languages/painless/painless-similarity-context.md index 91a85144c7206..9d3dfd7fa2ba2 100644 --- a/docs/reference/scripting-languages/painless/painless-similarity-context.md +++ b/docs/reference/scripting-languages/painless/painless-similarity-context.md @@ -60,7 +60,7 @@ The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painle ## Example -To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). +To run the example, first [install the eCommerce sample data](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). The following request creates a new index named `ecommerce_rare_terms` with a custom `similarity` equation called `rare_boost`. This similarity function modifies how document relevance scores are calculated during search by giving more weight to rare terms. diff --git a/docs/reference/scripting-languages/painless/painless-sort-context.md b/docs/reference/scripting-languages/painless/painless-sort-context.md index a4e7e95aebc6f..f0e15d78784e8 100644 --- a/docs/reference/scripting-languages/painless/painless-sort-context.md +++ b/docs/reference/scripting-languages/painless/painless-sort-context.md @@ -34,7 +34,7 @@ The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painle ## Example -To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). +To run the example, first [install the eCommerce sample data](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). The following request sorts documents by the average price per item, calculated by dividing the `taxful_total_price` by the `total_quantity`. diff --git a/docs/reference/scripting-languages/painless/painless-update-by-query-context.md b/docs/reference/scripting-languages/painless/painless-update-by-query-context.md index b21828a7ae111..08ffcc8d8c044 100644 --- a/docs/reference/scripting-languages/painless/painless-update-by-query-context.md +++ b/docs/reference/scripting-languages/painless/painless-update-by-query-context.md @@ -56,7 +56,7 @@ The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painle ## Example -To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). +To run the example, first [install the eCommerce sample data](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). The following request uses the `_update_by_query` API to apply a discount to products that meet two conditions: diff --git a/docs/reference/scripting-languages/painless/painless-update-context.md b/docs/reference/scripting-languages/painless/painless-update-context.md index ece4e21b1e699..c2a2a66c02c9c 100644 --- a/docs/reference/scripting-languages/painless/painless-update-context.md +++ b/docs/reference/scripting-languages/painless/painless-update-context.md @@ -59,7 +59,7 @@ The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painle ## Example -To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). +To run the example, first [install the eCommerce sample data](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). The following example demonstrates how to apply a promotional discount to an order. diff --git a/docs/reference/scripting-languages/painless/painless-watcher-condition-context.md b/docs/reference/scripting-languages/painless/painless-watcher-condition-context.md index 949f0e0c42ec4..27fb393e32efa 100644 --- a/docs/reference/scripting-languages/painless/painless-watcher-condition-context.md +++ b/docs/reference/scripting-languages/painless/painless-watcher-condition-context.md @@ -51,7 +51,7 @@ The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painle ## Example -To run the examples, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). +To run the examples, first [install the eCommerce sample data](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). **Manufacturer revenue anomaly detection** The following script creates a watcher that runs daily to monitor manufacturer revenue anomalies by querying the last seven days of documents and calculating `total_revenue` per `manufacturer.keyword`. @@ -118,7 +118,7 @@ POST _watcher/watch/_execute ``` **High-value order detection** -The next example runs hourly to detect high-value orders by filtering orders from the last hour when `taxful_total_price` is more than 150\. A log message is generated whenever high-value orders are found. +This example runs hourly to detect high-value orders by filtering orders from the last hour when `taxful_total_price` is more than 150. The script generates a log message when it finds high-value orders. ```json POST _watcher/watch/_execute diff --git a/docs/reference/scripting-languages/painless/painless-watcher-transform-context.md b/docs/reference/scripting-languages/painless/painless-watcher-transform-context.md index 2e7df00ffb119..b73fef4fb9b75 100644 --- a/docs/reference/scripting-languages/painless/painless-watcher-transform-context.md +++ b/docs/reference/scripting-languages/painless/painless-watcher-transform-context.md @@ -51,9 +51,9 @@ The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painle ## Example -To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). +To run the example, first [install the eCommerce sample data](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). -This request creates an automated sales monitoring system that checks your e-commerce data every hour and sends alerts when certain product categories are performing well. +This request creates an automated sales monitoring system that checks your eCommerce data every hour and sends alerts when certain product categories are performing well. The transform script processes the aggregation results from the search input, extracting `bucket.key` (category name) and `bucket.revenue.value` (sales amount) from each category. It uses `ctx.metadata.alert_threshold` (50 USD) to determine which categories trigger alerts, creating a structured output with category details and alert flags for the logging action. diff --git a/docs/reference/scripting-languages/painless/painless-weight-context.md b/docs/reference/scripting-languages/painless/painless-weight-context.md index decce294ba84b..d75100e76a36e 100644 --- a/docs/reference/scripting-languages/painless/painless-weight-context.md +++ b/docs/reference/scripting-languages/painless/painless-weight-context.md @@ -45,7 +45,7 @@ The standard [Painless API](https://www.elastic.co/guide/en/elasticsearch/painle ## Example -To run the example, first follow the [eCommerce sample data installation steps](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). +To run the example, first [install the eCommerce sample data](/reference/scripting-languages/painless/painless-context-examples.md#painless-sample-data-install). This request creates an index with a smart search system that automatically boosts products with rare, distinctive features like "vintage", "handcrafted", or unique materials. It helps discover special items by making uncommon products rank higher in search results. @@ -62,9 +62,9 @@ PUT kibana_sample_data_ecommerce-weight double rarityFactor = 1.0; if (term.docFreq < field.docCount * 0.02) { - rarityFactor = 3.0; // Very rare terms get high boost + rarityFactor = 3.0; // Very rare terms get a high boost } else if (term.docFreq < field.docCount * 0.10) { - rarityFactor = 1.5; // Somewhat rare terms get medium boost + rarityFactor = 1.5; // Somewhat rare terms get a medium boost } return query.boost * idf * rarityFactor;