我最近在kibana学习了kql,我想基于id显示前n个值。在这个表中,每个id可以有不同的范围。我想看看每个id的前2个最大范围。我以这张table为例:
id reach
1 10
1 12
1 3
3 7
1 13
3 12
3 90
4 12
如何根据范围选择前2名。目标:
id reach
1 12
1 10
3 90
3 12
4 12
如果我只希望使用基于此源的max aggregate的top 1,那么就可以很容易地完成。源代码使用max使用max它只取前1个值。如果我们想取一个以上的值,我们怎么做?谢谢您
1条答案
按热度按时间t9eec4r01#
您需要使用术语聚合来获取所有唯一的id,然后执行top hits子聚合来获取每个id的top 2:
如果您事先知道id,则可以使用\u msearch对每个id发出查询: