有个人长的像洋葱,走着走着就哭了…….

sum聚合的两列相除排序问题

Elasticsearch | 作者 gujialiangsz | 发布于2021年06月15日 | 阅读数:1414

如题,有一个分组统计曝光率取top10的需求,需要用sum后的两列相除结果排序,如果不排序返回结果太多导致取不到预期结果,网上很多帖子说不支持此类排序,不知道是不是真的,有没有办法自己扩展,如果支持的话有高手可以指教一下sql或dsl的写法吗?有人说用pipeline的set新建一个字段,这要如何再排序呢
已邀请:

Memento - Memento

赞同来自:

可以参考: https://www.elastic.co/guide/e ... yntax
 
POST /_search
{
"aggs": {
"sales_per_month": {
"date_histogram": {
"field": "date",
"calendar_interval": "month"
},
"aggs": {
"sale_type": {
"terms": {
"field": "type"
},
"aggs": {
"sales": {
"sum": {
"field": "price"
}
}
}
},
"hat_vs_bag_ratio": {
"bucket_script": {
"buckets_path": {
"hats": "sale_type['hat']>sales",
"bags": "sale_type['bag']>sales"
},
"script": "params.hats / params.bags"
}
}
}
}
}
}

要回复问题请先登录注册