0
我有一些數據在elasticsearch
,我發現很難創建我需要獲取一些數據的查詢。elasticsearch Query:Sum + Case Equivalent?
的數據我的組織,像這樣(如果我是在csv
格式來顯示它):
campaignid, sellerid, action
A, mike, sell
A, mike, buy
A, mike, buy
A, joe, sell
A, joe, sell
A, joe, sell
B, mike, sell
B, mike, sell
B, mike, sell
B, alice, buy
B, alice, buy
我想要得到這樣的結果集:
campaignid, sellerid, sales, buys
A, mike, 1, 2
A, joe, 3, 0
B, mike, 3, 0
B, alice, 0, 2
在SQL
,我我很熟悉,我會這樣寫:
SELECT campaignid, sellerid, SUM(CASE WHEN action='sell' THEN 1 ELSE 0 END) as sales, SUM(CASE WHEN action='buy' THEN 1 ELSE 0 END) as buys
GROUP BY campaignid, sellerid
我正在努力工作在彈性搜索中是等價的。我已設法使用this page的幫助來按組進行數據計數。
但是我失去了如何獲得我想要的數據(總結案例時)。這是我想出了:
GET _search
{
"size": 0,
"aggs": {
"group_by_campaignid": {
"terms": {
"field": "campaignid"
},
"aggs": {
"group_by_sellerid": {
"terms": {
"field": "sellerid"
}
}
}
}
}
}
任何人都可以幫忙寫我想查詢?謝謝。