Scripting

With scripting, you can evaluate custom expressions in Elasticsearch. For example, you can use a script to return a computed value as a field or evaluate a custom score for a query.

The default scripting language is Painless. Additional lang plugins are available to run scripts written in other languages. You can specify the language of the script anywhere that scripts run.

Available scripting languages ¶

Painless is purpose-built for Elasticsearch, can be used for any purpose in the scripting APIs, and provides the most flexibility. The other languages are less flexible, but can be useful for specific purposes.

Language Sandboxed Required plugin Purpose
painless Yes Built-in Purpose-built for Elasticsearch
expression Yes Built-in Fast custom ranking and sorting
mustache Yes Built-in Templates
java No You write it! Expert API