提问:布和纸怕什么?

请问es下有类似case when的汇总吗?

Elasticsearch | 作者 ddd3500 | 发布于2016年07月27日 | 阅读数:9592

先对字段做个转换后进行汇总, 拿sql举个例子: 
数据表AA如
ID name
1 a1
2 a2
3 a3
4 b1
5 b2
6 c
select namegroup, count(*) as total
from (
  select id,
    case when name in ('a1','a2','a3') then 'a' when name in ('b1','b2') then 'b' else name end as namegroup
  from AA
) group by namegroup

出来结果是
a 3
b 2
c 1
 
已邀请:

joeywen

赞同来自:

不知filter aggregation,可否解决你的问题,在query filter中先将字段进行转换,然后在filter aggregation中再根据转换的字段汇总统计

yangruideyang

赞同来自:

keyiyong pipeline aggregation

luqixinhe - 80后IT男

赞同来自:

为什么要这么复杂,case when 的步骤直接再etl 一把,再put进es。

要回复问题请先登录注册