elasticsearch 用结果1查询结果2

 

相当于漏斗的功能

查询符合字段1的所有字段2的值

再用字段2查询字段1的另外一个值有多少个

ex:

字段1:001,                            002,                         003,                                        004

字段2:aaa,bbb,ccc,ddd;    aaa,bbb,eee          aaa,bbb,ccc,ddd               aaa,ccc,fff

 

结果应该为001:4;002:2;003:2;004:1

001查询全部;002查询 001的 字段2 在002中有多少个,003查询 002的字段2 有多少个   004查询 003的字段2有多少个,以此类推

字段一不限制有多少个

 

类似于sql中的select name , count(distinct id) from tablename where name = '001'  group by name union all 
select name , count(distinct id) from tablename where name = '002' and id in (select id from tablename where name = '001')这种语句