I'm not sure why, it worked for terms
bucket aggregation.
But It failed for histogram
aggregation as for date histogram
aggregation.
Something is wrong when s
, which is supposed to be a HashMap
(or possibly null
), has become Long
.
Could this be a bug of scripted_metric aggregation on both histogram aggregations??
GET kibana_sample_data_logs/_search?size=0
{
"query": {
"match_all": {}
},
"aggs": {
"doc_buckets_for_date_histogram": {
"terms": {
"field": "agent.keyword"
},
"aggs": {
"max_bytes": {
"scripted_metric": {
"init_script": "state.max_bytes = 0L;",
"map_script": """
def current_bytes = doc['bytes'].getValue();
if (current_bytes > state.max_bytes)
{state.max_bytes = current_bytes;}
""",
"combine_script": "return state",
"reduce_script": """
def max_bytes = 0L;
for (s in states) {if (s.max_bytes > (max_bytes))
{max_bytes = s.max_bytes;}}
return max_bytes
"""
}
}
}
}
}
}
I found a similar post of several years ago left unsolved...