Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch 查询kibana中的前n个值_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Kibana_Nosql Aggregation - Fatal编程技术网 elasticsearch 查询kibana中的前n个值,elasticsearch,kibana,nosql-aggregation,elasticsearch,Kibana,Nosql Aggregation" /> elasticsearch 查询kibana中的前n个值,elasticsearch,kibana,nosql-aggregation,elasticsearch,Kibana,Nosql Aggregation" />

elasticsearch 查询kibana中的前n个值

elasticsearch 查询kibana中的前n个值,elasticsearch,kibana,nosql-aggregation,elasticsearch,Kibana,Nosql Aggregation,我最近在kibana学习了KQL,我想根据id显示前n个值。 在此表中,每个id可能具有不同的范围。我希望看到每个ID的前2个最大可达范围。我以这张表为例: 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,

我最近在kibana学习了KQL,我想根据id显示前n个值。 在此表中,每个id可能具有不同的范围。我希望看到每个ID的前2个最大可达范围。我以这张表为例:

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,那么这可以很容易地完成。 使用“最大值”时,仅取前1个值。 如果我们想取超过1个值,我们该怎么做?
谢谢您

您需要使用术语聚合来获取所有唯一ID,然后执行top hits子聚合来获取每个ID的前2名:

{
“aggs”:{
“ID”:{
“条款”:{
“字段”:“id”,
“尺寸”:3
},
“aggs”:{
“顶端到达”:{
“热门歌曲”:{
“排序”:[
{
“到达”:{
“订单”:“描述”
}
}
],
“_来源”:{
“包括”:[“到达”]
},
“尺寸”:2
}
}
}
}
}
}
如果您事先知道ID,则可以使用发出每个ID的查询:

GET test index/\u msearch
{ }
{“大小”:2,“查询”:{“术语”:1},“排序”:[{“到达”:{“顺序”:“描述”}]}
{ }
{“size”:2,“query”:{“term”:2},“sort”:[{“reach”:{“order”:“desc”}]}
{ }
{“大小”:2,“查询”:{“术语”:3},“排序”:[{“到达”:{“顺序”:“描述”}]}

您能更详细地解释一下预期结果的逻辑吗?@OpsterElasticsearchNinja您好,很抱歉缺少信息,我添加了更多信息。您好,谢谢您的回答,但我们如何在可视化中做到这一点?您需要在Kibana中使用术语聚合拆分行,并在“度量”下选择热门点击聚合。它应该会起作用。