25 lines
1.1 KiB
Plaintext
25 lines
1.1 KiB
Plaintext
|
_Painless_ is a simple, secure scripting language designed specifically for use
|
||
|
with Elasticsearch. It is the default scripting language for Elasticsearch and
|
||
|
can safely be used for inline and stored scripts. For a detailed description of
|
||
|
the Painless syntax and language features, see the
|
||
|
{painless}/painless-specification.html[Painless Language Specification].
|
||
|
|
||
|
[[painless-features]]
|
||
|
You can use Painless anywhere scripts can be used in Elasticsearch. Painless
|
||
|
provides:
|
||
|
|
||
|
* Fast performance: Painless scripts https://benchmarks.elastic.co/index.html#search_qps_scripts[
|
||
|
run several times faster] than the alternatives.
|
||
|
|
||
|
* Safety: Fine-grained whitelist with method call/field granularity. See the
|
||
|
{painless}/painless-api-reference.html[Painless API Reference] for a
|
||
|
complete list of available classes and methods.
|
||
|
|
||
|
* Optional typing: Variables and parameters can use explicit types or the
|
||
|
dynamic `def` type.
|
||
|
|
||
|
* Syntax: Extends Java's syntax to provide http://groovy-lang.org/index.html[
|
||
|
Groovy-style] scripting language features that make scripts easier to write.
|
||
|
|
||
|
* Optimizations: Designed specifically for Elasticsearch scripting.
|