原英文版地址: 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

脚本和安全

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