Elasticsearch允许您根据文档中命中的字段计算存储桶上的指标。但是,如果我想从聚合上的其他指标计算指标,该怎么办?
例如,我在Elasticsearch中存储广告活动的数据。我按日期汇总文档,并添加daily_spend
和daily_clicks
指标(通过总结每个spend
存储桶中文档的clicks
和day
指标。现在,我想添加cpm
指标,该指标是根据daily_spend
和daily_clicks
指标计算得出的。我该怎么做?
这是我的疑问:
{
"query": {
"filtered": {
"filter": {
"term": {
"campaign_id": 1234
}
}
}
},
"aggs": {
"day": {
"terms": {
"field": "day"
},
"aggs": {
"daily_spend": {
"sum": {
"field": "spend"
}
},
"daily_clicks": {
"sum": {
"field": "clicks"
}
},
"cpc": {
//daily_spend/daily_clicks
}
}
}
}
}
答案 0 :(得分:0)
无法从其他两个聚合中提取数据并对其进行其他操作。
最好的办法是,在从查询中检索数据后,对daily_spend
和daily_clicks
聚合的值进行除法运算。