- Painless Scripting Language: other versions:
- Painless Guide
- Painless Language Specification
- Painless contexts
- Context examples
- Ingest processor context
- Update context
- Update by query context
- Reindex context
- Sort context
- Similarity context
- Weight context
- Score context
- Field context
- Filter context
- Minimum should match context
- Metric aggregation initialization context
- Metric aggregation map context
- Metric aggregation combine context
- Metric aggregation reduce context
- Bucket script aggregation context
- Bucket selector aggregation context
- Analysis Predicate Context
- Watcher condition context
- Watcher transform context
- Painless API Reference
IMPORTANT: No additional bug fixes or documentation updates
will be released for this version. For the latest information, see the
current release documentation.
Painless Guide
editPainless Guide
editPainless 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 whitelist with method call/field granularity. See the 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.
Was this helpful?
Thank you for your feedback.