⚡ ElasticsearchBook is crafted by Jozef Sorocin (🟢 Book a consulting hour) and powered by:
- Spatialized.io (Elasticsearch & Google Maps consulting)
- in cooperation with Garages-Near-Me.com (Effortless parking across Germany)
Scripting enables you to evaluate custom expressions.
As explored in 2. Insertion & Ingestion, we can modify fields.
And as mentioned in Points Closest to the Origin, we can dynamically score documents and calculate new values on-the-fly.
Scripts can be used in various contexts but are leveraged most often:
- during updates and reindexing
- in queries and aggregations where there are no alternatives (like here)
- and when sorting.
How to Use Scripts
The default scripting language is
Painless
. Additional lang
plugins enable you to run scripts written in other languages. Everywhere a script can be used, you can include a lang
parameter to specify the language of the script.Supported Languages
— slow and discontinuedgroovy
painless
— a sandboxed and secure general-purpose language extending a subset of Java’s syntax; offers optional typing through thedef
keyword
expression
— Lucene expressions — a sandboxed, javascript-like language used for fast custom ranking and sorting but limited to only numeric, boolean, date, and geo_point fields
- and good old
java
— supporting lower-level script engine modules