微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Elasticsearch基数聚合返回一个额外的计数

如何解决Elasticsearch基数聚合返回一个额外的计数

我是Elasticsearch的新手,想查询 1小时 fixed_interval 客户数量,因此使用基数汇总 date_histogram汇总。问题是,基数聚合总是返回一个额外的计数。以下是查询,结果,映射和文档:〜

我使用的查询

{'query': {'nested': {'path': 'tags','query': {'bool': {'must': [{'match': {'tags.object_id': {'query': 'e21ed0ac-701e-4fe6-b08b-00477f742774'}}},{'match': {'tags.content_type': {'query': 'config.device'}}}]}}}},'_source': False,'size': 0,'aggs': {'GroupByTime': {'nested': {'path': 'points','aggs': {'set_range': {'filter': {'range': {'points.time': {'from': 'Now-7d/d','to': 'Now/d'}}},'aggs': {'time': {'date_histogram': {'field': 'points.time','fixed_interval': '1h','format': 'date_time_no_millis','order': {'_key': 'desc'},'time_zone': 'Asia/Kolkata'},'aggs': {'nest': {'nested': {'path': 'points.fields','aggs': {'wifi_clients': {'cardinality': {'field': 'points.fields.clients.keyword','missing': 0}}}}}}}}}}}}}}

获得的结果

{'took': 1,'timed_out': False,'_shards': {'total': 1,'successful': 1,'skipped': 0,'Failed': 0},'hits': {'total': {'value': 1,'relation': 'eq'},'max_score': None,'hits': []},'aggregations': {'GroupByTime': {'Meta': {},'doc_count': 3,'set_range': {'Meta': {},'time': {'buckets': [{'key_as_string': '2020-08-02T18:00:00Asia/Kolkata','key': 1596371400000,'nest': {'doc_count': 3,'wifi_clients': {'value': 3}}}]}}}}}

对于 wifi_clients 值,我得到了 3 的结果,但是我期望的是 2 (只有两个不同的 clients >可以在文档图像中看到)。我尝试过使用不同数量的客户,但每次都获得一个额外的计数。 注意:我使用的是elasticsearch-python客户端。

使用的索引的映射可以在此处找到 mapping

正在查询的文档可以在这里找到 document

请帮助我了解我在这里做错了什么,这是由于我得到了额外的计数以及如何纠正该错误

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?