ES查詢直方圖聚合區間結果min越界問題
阿新 • • 發佈:2020-12-29
● 系統環境說明
Linux環境:centos 7.2
騰訊雲ES Service:7.5.1
Java:1.8.0_181
● 叢集配置
標準型32核64GB, 3個(主節點)
50GB 高效能雲盤 x1
標準型32核64GB, 12個(資料節點)
6000GB SSD雲硬碟 x2
問題
ES查詢直方圖資料,結果明顯發生了越界:
問題原因
這裡的越界其實是符合預期的,因為真正的邊界取決於interval,而不是min,所表現出的特徵是:
結果中看到的最小key(1607040000000000),可以被interval(864000000000)所整除
當extended_bounds.min不被interval整除的時候,預設的最小值為:
key = extended_bounds.min - (extended_bounds.min % interval)
解決方法
histogram提供了offset,以偏移桶的邊界,演算法是:
offset = extended_bounds.min % interval
正確的做法是出現這種情況時,設定offset值,這樣最小key就會等於extended_bounds.min,問題就會得到解決。