Elasticsearch provides native scripting (a Java code compiled in JAR) and Painless, but a lot of interesting languages are available, such as JavaScript and Python.
As previously stated, the official language is now Painless, and this is provided by default in Elasticsearch for better sandboxing and performance.
Note
Other scripting languages can be installed as plugins, thus they are now deprecated. We will present them in this recipe as they have a large user base.
You need an up-and-running Elasticsearch installation as we described in the Downloading and installing Elasticsearch recipe in Chapter 2, Downloading and Setup.