Skip to content

Latest commit

 

History

History
29 lines (21 loc) · 1.18 KB

painless-guide.asciidoc

File metadata and controls

29 lines (21 loc) · 1.18 KB

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 A Brief Painless Walkthrough. For a detailed description of the Painless syntax and language features, see the Painless Language Specification.

You can use Painless anywhere scripts are used in Elasticsearch. Painless provides:

  • Fast performance: Painless 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.