我試圖減去聚合鬥腳本 - elasticsearch 2.4.2
{
"query": {
"match_all": {}
},
"size": 0,
"aggs": {
"total_query_id": {
"sum": {
"field": "query_id"
}
},
"total_num_results": {
"sum": {
"field": "num_results"
}
},
"minus_value": {
"bucket_script": {
"buckets_path": {
"qid": "total_query_id",
"nrs": "total_num_results"
},
"script": "qid - nrs"
}
}
}
}
它拋出下面的錯誤
「理由」:「名爲[minus_value]的無效管道聚集類型[bucket_script]。只有同級管道聚合被允許在頂層「
我已經移動到來回m inus_value節點到aggs節點,但它不能解決我的問題。
任何人都可以幫助我嗎?
您曾經試圖將它們包裝全部'全局{}'聚集裏面? – Val
你是什麼意思?如果沒有'minus_value'節點,它將返回兩個聚合值,但是當我嘗試使用桶腳本減去這些值時,會引發錯誤。由我新來這可能是缺乏你問什麼 –
這個想法是管道聚合必須在父桶集合工作。在你的例子中情況並非如此,所以你必須有一個父集合(例如[因爲你有一個'match_all'查詢] [嘗試'全局'](https://www.elastic.co/guide/en/elasticsearch/reference /current/search-aggregations-bucket-global-aggregation.html))並在其中嵌入3個聚合。 – Val