ElasticSearch实战(三十四)-Painless 脚本编程
Posted 张志翔ۤ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ElasticSearch实战(三十四)-Painless 脚本编程相关的知识,希望对你有一定的参考价值。
我们之前看见了在Elasticsearch里的ingest node里,我们可以通过以下processor的处理帮我们处理我们的一些数据。它们的功能是非常具体而明确的。那么在Elasticsearch里,有没有一种更加灵活的方式可供我们来进行编程处理呢?如果有,它使用的语言是什么呢?
在Elasticsearc中,它使用了一个叫做Painless的语言。它是专门为Elasticsearch而建立的。Painless是一种简单,安全的脚本语言,专为与Elasticsearch一起使用而设计。 它是Elasticsearch的默认脚本语言,可以安全地用于inline和stored脚本。它具有像Groovy那样的语法。自Elasticsearch 6.0以后的版本不再支持Groovy,javascript及Python语言。
一、脚本语法
脚本的语法为:
"script": {
"lang": "...",
"source" | "id": "...",
"params": { ... }
}
- 这里lang默认的值为"painless"。在实际的使用中可以不设置,除非有第二种语言供使用
- source可以为inline脚本,或者是一个id,那么这个id对应于一个stored脚本
- 任何有名字的参数,可以被用于脚本的输入参数
二、简单使用例子
我们准备了几个例子供大家实战操作:
注:下面的示例中 "source&#
以上是关于ElasticSearch实战(三十四)-Painless 脚本编程的主要内容,如果未能解决你的问题,请参考以下文章
Android项目实战(三十四):蓝牙4.0 BLE 多设备连接
SQL开发实战技巧系列(三十四):数仓报表场景☞如何对数据分级并行转为列