身安不如心安,屋宽不如心宽 。

求助:统计用户访问量(生成条形图)

Elasticsearch | 作者 mu_xiu | 发布于2020年03月23日 | 阅读数:136

需求:画一张条形图,对用户访问量进行统计。X轴是访问次数,Y轴是用户数量

字段能用的应该就只有:@timestamp、uid(string)两个字段。

请问这个要如何实现?做的我一愣一愣的了……

因为Uid是字符串类型的,没法用histogram。用term聚合出uid之后我就傻逼了,不知道怎么继续了。sum好像也不能对string进行操作,这种情况下要怎么实现……
 
就类似于sql的interval这种,我觉得我可能进入了什么误区,想请各位帮忙指出一下!
已邀请:

tacsklet - 公司有用到es

赞同来自:

直接我不知道怎么弄,不过你可以通过terms聚合,查出每个uid出现过几次, 然后把同样次数的做个count统计,这样就可以得出来需求的条形图了。

mu_xiu - 95后打工仔

赞同来自:

这个问题我暂时解决了,方法比较笨,做个记录:
 
先说结论,先用uid聚合出结果,然后通过bucket_selector对范围内桶筛选出来。
这种方法可以筛选出一个区间内的聚合结果,但仅仅是一个区间的。意味着如果你有多个区间,就需要组合多个同样的聚合,来完成总的区间筛选结果

要回复问题请先登录注册