原英文版地址: https://www.elastic.co/guide/en/elasticsearch/reference/7.7/modules-scripting.html, 原文档版权归 www.elastic.co 所有
本地英文版地址: ../en/modules-scripting.html

脚本

通过使用脚本,你可以在Elasticsearch中评估自定义表达式。 例如,你可以使用脚本返回“脚本字段(script fields)”作为搜索请求的一部分,或者评估查询的自定义分数。

默认的脚本语言是Painless。 附加的lang插件使你能够运行用其他语言编写的脚本。 在任何可以使用脚本的地方,都可以包含一个lang参数来指定脚本的语言。

通用语言

这些语言可以在脚本API中用于任何目的,并提供最大的灵活性。

语言 是否沙箱化 必要的插件

painless

(内置的,不需要)

特殊用途的语言

这些语言不太灵活,但对于某些任务来说通常具有更好的性能。

语言 是否沙箱化 必要的插件 目的

expression

(内置)

快速自定义排名和排序

mustache

(内置)

模板

java

未知

你自己写!

专家级API

脚本和安全

沙盒化语言的设计考虑了安全性。 然而,非沙盒化语言可能是一个安全问题,请阅读脚本和安全性以了解更多细节。