gpt4 book ai didi

elasticsearch - Elasticsearch在不检索所有数据的情况下获得聚合存储桶的大小(存储桶中的元素数)

转载 作者:行者123 更新时间:2023-12-03 00:13:22 28 4
gpt4 key购买 nike

我正在尝试获取有关Elasticsearch中的聚合的信息。

我有一个索引,用于存储邮件元数据(发件人ip,主题等)。我想做的是获取要发送1000多个邮件的IP数量。 (因此,例如,我们有3个IP地址,从的第一个IP 发送了2000封邮件,从的第二个发送了1500封邮件,从的第三个IP 发送了200封邮件。然后,我希望看到 2个作为聚合结果。我写了以下查询:

GET /my_index/_search
{
"size": 0,
"aggs": {
"ipAddresses": {
"terms": {
"field": "senderIpAddress",
"min_doc_count": 1000,
"size" : 0
}
}

}
}

我可以在后端实现中获取存储桶并计算其大小,但是我需要获取存储桶中的所有数据才能执行此操作。它很慢,我想获取存储桶大小而不获取所有数据。

TL; DR,如何在不检索整个数据的情况下获得聚合存储桶的总大小?

最佳答案

这是cardinality聚合的目的:

{
"size": 0,
"aggs": {
"ipAddressesCount": {
"cardinality": {
"field": "senderIpAddress"
}
}
}
}

请记住,这是一个近似值-可以使用 precision_threshold来配置精度,如上面的链接中所述。

关于elasticsearch - Elasticsearch在不检索所有数据的情况下获得聚合存储桶的大小(存储桶中的元素数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38831620/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com