kibana json input裏使用自定義腳本

前置條件

inline script默認是不開啓的
在config/elasticsearch.yml中加入

script.inline: true
script.indexed: true

官方文檔:

https://www.elastic.co/guide/en/elasticsearch/guide/current/script-score.html
https://www.elastic.co/guide/en/elasticsearch/reference/2.3/modules-scripting.html

示例:

{ 
	"script": {
		"lang": "painless",
		"inline": "params.tmp=(_value-doc['aaa'].value)/doc['aaa'].value;if(params.min>params.tmp){params.min=params.tmp}if(params.max<params.tmp){params.max=params.tmp}return params.max-params.min",
		"params": {
			"tmp":0,
			"min": 0,
			"max":0
		}
	}
}

然後對字段進行sum聚合,就可以統計出>0的項多少個
*注: 只有數字字段纔可以在doc[‘xx’]中訪問

內置函數

https://www.elastic.co/guide/en/elasticsearch/guide/current/script-score.html

語法文檔

http://cwiki.apachecn.org/pages/viewpage.action?pageId=10027215

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