Elasticsearch近似聚合与显著词分析
1. 基数度量(Cardinality Metric)
1.1 算法基础
基数度量是一种近似算法,基于HyperLogLog++(HLL)算法。HLL通过对输入进行哈希处理,并利用哈希值的位来对基数进行概率估计。该算法具有以下特性:
- 可配置精度:可控制内存使用,精度越高,内存使用越多。
- 低基数集合的高精度:在低基数集合上能提供出色的准确性。
- 固定内存使用:无论唯一值是数千个还是数十亿个,内存使用仅取决于配置的精度。
1.2 精度配置
要配置精度,需指定 precision_threshold 参数。该阈值定义了一个点,低于此点的基数预计非常接近准确值。例如:
GET /cars/transactions/_search?search_type=count
{
"aggs" : {
"distinct_colors" : {
"cardinality" : {
"field" : "color",
"precision_threshold" : 100
}
}
}
}
precision_threshold 接受0 - 40,000之间的数字,更大的值将被视为等同于40,000。此示例确保具有100个或更少不同值的字段将极其准确。如果基数低于
超级会员免费看
订阅专栏 解锁全文
1491

被折叠的 条评论
为什么被折叠?



