elasticsearch Kibana脚本字段中的Groovy脚本,elasticsearch,groovy,lucene,kibana,elasticsearch,Groovy,Lucene,Kibana" /> elasticsearch Kibana脚本字段中的Groovy脚本,elasticsearch,groovy,lucene,kibana,elasticsearch,Groovy,Lucene,Kibana" />

elasticsearch Kibana脚本字段中的Groovy脚本

elasticsearch Kibana脚本字段中的Groovy脚本,elasticsearch,groovy,lucene,kibana,elasticsearch,Groovy,Lucene,Kibana,在创建脚本化字段时,是否有一种方法可以在“script”文本区域中指定Groovy脚本文件名 Lucene表达式在该字段上运行良好,但对数值有限制,但如何指定脚本文件名并将输入传递到脚本文件 我试着给脚本文件命名,如下所示,但没有成功 {"script":{"file":"MyScript"},"lang":"groovy"} 我还注意到,最新的弹性版本默认为Lucene表达式,但我怀疑应该有一种方法来指定脚本类型 更新:作为安全预防措施,从版本4.0.0-RC1开始, Kibana脚本字段

在创建脚本化字段时,是否有一种方法可以在“script”文本区域中指定Groovy脚本文件名

Lucene表达式在该字段上运行良好,但对数值有限制,但如何指定脚本文件名并将输入传递到脚本文件

我试着给脚本文件命名,如下所示,但没有成功

{"script":{"file":"MyScript"},"lang":"groovy"}
我还注意到,最新的弹性版本默认为Lucene表达式,但我怀疑应该有一种方法来指定脚本类型

更新:作为安全预防措施,从版本4.0.0-RC1开始, Kibana脚本字段默认为Lucene表达式,而不是Groovy,如下所示 脚本语言


有人能告诉我这是否可能,如果可能的话,那么方法是什么吗?

以下说明适用于
elasticsearch
2.x

首先,需要在
elasticsearch.yml
中启用Groovy聚合脚本:

script.engine.groovy.indexed.aggs: true
然后在JSON中输入可视化中的相关属性:

最后,您需要将脚本放入
config/scripts
文件夹中

elasticsearch  
└── config  
    └── scripts  
        └── myscript.groovy


在进行上述更改后,不要忘记重新启动您的
elasticsearch

目前无法选择所需的脚本语言,但这可能会有所帮助:我尝试了此方法,但无效。同样的错误还在继续“Discover:未能解析表达式:{“script”:{“file”:“MyScript”},“lang”:“groovy”}@svjn我猜您是在试图直接在Kibana的“设置->索引->Scrtiped字段”中添加
{“script”:{“file”:“MyScript”},“lang”:“groovy”}
。相反,(1)添加字段,但将
脚本保留为空,(2)在可视化的
JSON输入中添加脚本。无论如何,我已经更新了我的答案。{“lang”:“groovy”}的+1——如果脚本字段是在设置中直接配置的,那么这也是必要的。