使用唯一计数并在Kibana中创建聚合时丢失数据

时间:2015-11-10 09:08:45

标签: elasticsearch kibana kibana-4

我在Kibana有一个行为,我无法解释。以下是一个简单的条形图,计算唯一用户,按应用程序和角色进行筛选,并确保日志中存在某些字段:

enter image description here

此图显示我有约。 170位具有“Landmand”角色的用户。如果我用术语'fields.Role'来分割条形图,我会期望一个相同的图表,因为我已经在搜索中应用了指定'fields.Role:Landmand'的过滤器。但是我看到了这一点。

Bar chat split by term

这突然将唯一计数限制为约。 150位用户。我尝试了不同的领域,它似乎有相同的行为 - 一旦我拆分栏,我似乎以某种方式限制数据。

非常感谢任何信息。

1 个答案:

答案 0 :(得分:7)

之所以会发生这种情况,是因为它使用cardinality aggregation来执行唯一计数。正如链接中所解释的那样,计数是近似值,它有一个误差百分比。只需进行快速测试,尝试复制请求并尝试使用不同的精度阈值来查看差异。

要设置自定义precision_threshold,您可以使用高级部分并将自定义JSON输入放入聚合:

Adding a precision threshold to the aggregation

如果您转到请求部分,您实际上可以看到阈值已添加到基数聚合中。