OpenSearch/docs/painless/painless-guide.asciidoc

29 lines
1.2 KiB
Plaintext
Raw Normal View History

[[painless-guide]]
== Painless Guide
_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 jump start into
Painless, see <<painless-walkthrough, A Brief Painless Walkthrough>>. For a
detailed description of the Painless syntax and language features, see the
<<painless-lang-spec, Painless Language Specification>>.
You can use Painless anywhere scripts are 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 allowlist 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 a subset of Java's syntax to provide additional scripting
language features.
* Optimizations: Designed specifically for Elasticsearch scripting.
include::painless-guide/index.asciidoc[]