NOTE: You are looking at documentation for an older release. For the latest information, see the current release documentation.
Scripting
editScripting
editWith scripting, you can evaluate custom expressions in Elasticsearch. For example, you could use a script to return "script fields" as part of a search request or evaluate a custom score for a query.
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.
General-purpose languages
editThese languages can be used for any purpose in the scripting APIs, and give the most flexibility.
Language | Sandboxed | Required plugin |
---|---|---|
yes |
built-in |
Special-purpose languages
editThese languages are less flexible, but typically have higher performance for certain tasks.
Language | Sandboxed | Required plugin | Purpose |
---|---|---|---|
yes |
built-in |
fast custom ranking and sorting |
|
yes |
built-in |
templates |
|
n/a |
you write it! |
expert API |
Scripts and security
Languages that are sandboxed are designed with security in mind. However, non- sandboxed languages can be a security issue, please read Scripting and security for more details.