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

此處kibana和elasticsearch版本較老,更多請直接參考官網。

需要其他聚合操作時,可以通過advanced -> JSON input來填寫處理腳本,ElasticSearch2.x支持的腳本script.lang類型如下:

默認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腳本目錄,通過腳本名稱調用。

新版(7.5)

{
"script":"doc['system.cpu.iowait.pct'].value * 100"
}

參考:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章