kibana4.5.2(Elasticsearch2.3.4) "JSON input"

此处kibana和elasticsearch版本较老,新版的请直接参考官网。

kibana4.5.2(Elasticsearch2.3.4)

需要其他聚合操作时,可以通过advanced -> JSON input来填写处理脚本,ElasticSearch2.x支持的脚本script.lang类型如下:

kibana4.5.2(Elasticsearch2.3.4)

默认built-in的支持groovy、expression、mustache, 其他的需要单独安装并启用插件。(此外lang还可取值native,对于复杂操作可以自定义插件实现并安装,插件编写语言为Java)

  • expression 简单表达式, 简单的加减乘除等操作可以直接使用该语言(language)类型:
{
	"script": {
		"lang": "expression",
		"inline": "doc['views'] + 100"
	}
}

或者

{
	"script": "doc['views'] + 10",
        "lang": "expression"
}

doc为内置对象,代表es中文档对象引用,doc['字段名'] 获取字段值,如果字段不是简单的基本类型,如date类型则还可以doc['date1'].getYear(),更多参考官网。上面的脚本表示将views加100返回。

  • groovy类型,该类型自1.4.3默认没启用,需要启用才能使用
{
    "script": {
      "inline": "doc['views'].value + val", 
      "lang":   "groovy", 
      "params": { "val": 3 } 
    }
}
  • mustache类型,模板查询语言,默认elasticSearch的template采用该语言

处于安全考虑,脚本需要安装到es脚本目录,通过脚本名称调用。

参考:

  • elasticsearch-scripting2.3
  • scripting

 

你可能感兴趣的:(ElasticSearch)