无痛脚本语言

edit

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

Painless 提供了众多围绕以下核心原则的功能:

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

开始脚本编写

edit

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

如果您已经熟悉了Painless,请参阅Painless语言规范,以获取关于Painless语法和语言特性的详细描述。