elasticsearch分組排序取top N

2021-10-05 07:33:25 字數 439 閱讀 3991

比如有一張聯絡歷史表,裡面有使用者uid,**號number,使用者所屬國家country,通話時長talktime幾個主要字段。現在的需求是要獲取平均通話時長最長的top 20個國家。

先過濾掉一些不需要的資料,然後根據country分桶,在桶內求平均通話時長。最後根據每個桶的平均通話時長取top 20的桶。

get talk-information-2020.04.21/_search

} ],

"filter": }}

}},

"size": 0,

"aggs": ,

"aggs":

},"country_bucket_sort": } //根據平均通話時長對桶排序

],"size": 10 //取前10個桶}}

}}

}}

elasticsearch 分組求和

我使用的是elasticsearch6.4.3,resthighlevelclient獲取客戶端,直接上 吧 1 action 字段型別為long map map2 searchclient.searchgrouplong sourcebuilder,searchrequest,aggname,ag...

Elasticsearch 實現分組統計

之前有個查詢es分組求和的需求,類似關係型資料庫 select a b sum c from table group by a,b 當時用dsl查詢語句實現 這邊記錄下 get my index my type search aggs aggs 說明 1.環境居於es 5.4.3 版本,查詢語句在k...

elasticsearch 7 聚合統計 分組聚合

原文 get index type search 返回值表示,15,20 區間內的值有1個,20,25 區間內的值有0個,25,30 區間內的值有1個,30,35 區間內的值有1個。1 直方圖篩選規則 舉個例子,有乙個price欄位,這個字段描述了商品的 現在想每隔5就建立乙個桶,統計每隔區間都有多...