Painless 脚本语言

编辑

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

Painless 提供了许多功能,这些功能围绕以下核心原则展开:

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

开始编写脚本

编辑

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

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