聚合查詢
對查詢的數據進行聚合操作
分類聚合 - terms
根據字段值,進行分類
{
"size" : 0,
"aggs" : {
"per_count" : {
"terms" : {
"size" : 3, # 不加這個默認只會返回10條數據
"field" : "codeName"
}
}
}
}
分析聚合 - max
分類結果中的最值,平均值等聚合操作
{
"size" : 0,
"aggs" : {
"per_count" : {
"terms" : {
"size" : 10000,
"field" : "name"
},
"aggs" : {
"max_count" : {
"max" : {
"field" : "view"
}
}
}
}
}
}
所有聚合 - extended_stats
返回聚合分析後所有的指標
{
"aggs" : {
"grades_stats" : { "extended_stats" : { "field" : "grade" } }
}
}
聚合結果去重排序 - order AND cardinality
對查詢結果進行排序,然後去重
{
"aggs" : {
"all_interests" : {
"terms" : {
"field" : "pubDay",
"order" : { "distinct_mediaNameZh" : "desc" }
},
"aggs" : {
"distinct_mediaNameZh" : {
"cardinality" : {
"field" : "mediaNameZh"
}
}
}
}
}
}
常用聚合 - 表單
術語 | 說明 |
---|---|
count | 統計某個字段的數量 |
cardinality | 去重統計某個字段的數量(有少量誤差) |
filter | 聚合過濾 |
terms | 按某個字段分類 |
sum | 求和 |
avg | 求平均值 |
max | 最大值 |
min | 最小值 |
dateHistogram | 按日期間隔分組 |
topHits | 獲取聚合裏面的結果 |
nested | 嵌套的聚合 |
reverseNested | 反轉嵌套 |