如何解决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
请帮助我了解我在这里做错了什么,这是由于我得到了额外的计数以及如何纠正该错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。