Calling native plugin from kibana scripted field


(Peter Hubner) #1

The issue I have is simple. I have a native plugin that I wrote (and works fine) but I need to call it from Kibana. However the request that comes from Kibana is defaulted to "lang":"expression". So the question is simple, is there a way to specify, on the "Scripted Fields" tab in Kibana, the lang as "native"?

I did find this which explains how to override the lang field that is passed. However that does not get saved or persisted at all.

Info:
Kibana 4.1.2
ES 1.5.1

Call generated by Kibana:

[{
	"size": 500,
	"sort": [{
		"timestamp": {
			"order": "desc",
			"unmapped_type": "boolean"
		}
	}],
	"highlight": {
		"pre_tags": ["@kibana-highlighted-field@"],
		"post_tags": ["@/kibana-highlighted-field@"],
		"fields": {
			"*": {}
		},
		"fragment_size": 2147483647
	},
	"aggs": {
		"2": {
			"date_histogram": {
				"field": "timestamp",
				"interval": "30s",
				"pre_zone": "-07:00",
				"pre_zone_adjust_large_interval": true,
				"min_doc_count": 0,
				"extended_bounds": {
					"min": 1453783383534,
					"max": 1453784283534
				}
			}
		}
	},
	"query": {
		"filtered": {
			"query": {
				"match_all": {}
			},
			"filter": {
				"bool": {
					"must": [{
						"range": {
							"timestamp": {
								"gte": 1453783383535,
								"lte": 1453784283535
							}
						}
					}],
					"must_not": []
				}
			}
		}
	},
	"fields": ["*", "_source"],
	"script_fields": {
		"duration_seconds": {
			"script": "duration_seconds",
			"lang": "expression"
		},
		"latency_seconds": {
			"script": "latency_seconds",
			"lang": "expression"
		},
		"duration_minutes": {
			"script": "duration_minutes",
			"lang": "expression"
		}
	},
	"fielddata_fields": ["timestamp", "@timestamp"]
}]

(system) #2