es 平行多次聚合查詢

2021-09-26 03:36:49 字數 785 閱讀 3499

比如說我有 city, source, company, user等字段, 然後需要根據 user 欄位來查出 各城市對應的 source, company欄位, 即同樣條件不同字段聚合, 如下

user	city 	company 

user city source

需要同時返回這兩種聚合結果, 要怎麼實現呢

"aggs":

},"source": }}

}},

"query": }]

}},

"size": 0 # size為0不會展示 hits, 只會展示聚合結果

}

聚合出來的結果是這個樣子的

,

"hits": ,

"aggregations": ,]},

"source": ,,,

]}}]

}}}

是不是很簡單方便啊, 語句結構也很簡單, 即

如果是往下聚合則繼續在 aggs的聚合下面繼續寫aggs

,

"aggs": }}

}}

如果是希望當前值保持跟上一層聚合, 則在當前aggs下繼續平行寫 聚合字段(aggs_field)

,

"aggs": ,

"aggs_field2": {},

"aggs_field3": {}}}

}}

ES聚合查詢例項

disable coord false adjust pure negative true boost 1 explain false,aggregations view code disable coord false adjust pure negative true boost 1 expla...

es聚合查詢提取網域名稱

1 因資料庫中資料量超過1000萬條,大於桶最大值聚合,通過kibana做如下設定後可做步驟3的聚合查詢 put cluster settings 2 通過kibana做如下查詢,檢視聚合後網域名稱數量 get hidden search 3 通過聚合查詢取出全部 聚合去重後網域名稱 寫入檔案 co...

es的bool,排序,聚合組合查詢

傳入的jsonobject sort 排序指定key aggs 聚合指定key sql的count 操作 列名6 獲取連線,clustername 集群名,hostname ip,port 埠號 9300 public transportclient init catch unknownhostex...