我想了解彈性搜索如何在后臺進行統計聚合和總和聚合。
我的用例需要日期直方圖聚合作為主要聚合,總和聚合或統計聚合作為嵌套聚合。我在 Kibana 中對相同數量的資料使用兩個聚合執行查詢。兩個查詢執行的時間相似。因此,對于我們所有的用例,如果 stats 和 sum 聚合之間沒有性能差異,我們可能會一直使用 stats 聚合。
我找不到有關這些聚合的內部作業的任何詳細資訊。請求向我提供有關它的任何資訊,或向我指出任何描述這些聚合如何在后臺作業的檔案。
彈性搜索版本:7.1
謝謝你
uj5u.com熱心網友回復:
如有疑問,請前往源頭。
如果您查看StatsAggregator.java和SumAggregator.java的實作,您會發現它們非常相似。
SumAggregator 只計算總和,而 StatsAggregator 計算 sum、min、max、count 和 avg。盡管后者似乎做得更多,但它也只對資料進行一次迭代以計算額外的指標,但這些計算的計算成本并不高。
因此,如果您知道只需要總和,請使用 SumAggregator,但如果您還需要 min、max、count 或 avg,則改為使用 StatsAggregator,這樣您只需遍歷資料一次。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/485195.html
