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.
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 languagesedit
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.