Painless 脚本语言编辑

Painless 是一种专为 Elasticsearch 设计的高性能、安全的脚本语言。您可以在 Elasticsearch 支持脚本的任何地方使用 Painless 安全地编写内联脚本和存储脚本。

Painless 提供了许多功能,这些功能围绕以下核心原则构建

  • 安全性:确保集群的安全性至关重要。为此,Painless 使用细粒度的允许列表,其粒度细化到类的成员。任何不在允许列表中的内容都会导致编译错误。有关每个脚本上下文中可用类、方法和字段的完整列表,请参阅Painless API 参考
  • 性能:Painless 直接编译为 JVM 字节码,以利用 JVM 提供的所有可能的优化。此外,Painless 通常会避免需要在运行时进行额外缓慢检查的功能。
  • 简单性:Painless 实现了一种语法,任何具有一些基本编码经验的人都能自然熟悉。Painless 使用 Java 语法的子集,并进行了一些额外的改进,以增强可读性和减少样板代码。

开始编写脚本编辑

准备好开始使用 Painless 编写脚本了吗?了解如何编写您的第一个脚本

如果您已经熟悉 Painless,请参阅Painless 语言规范,以详细了解 Painless 语法和语言功能。