问题解决:es聚合统计结果不准确
解决方案:调大shard_size值这个值表示要从分片上拿来计算的文档数量。默认情况下和size是一样的。取得size的值越大,结果会越接近准确,不过很明显会影响性能{"aggs": {"ip_agg": {"terms": {"field": "ip","size": num,"shard_size": num * 1000,"order": {
·
解决方案:调大shard_size值
这个值表示要从分片上拿来计算的文档数量。默认情况下和size是一样的。取得size的值越大,结果会越接近准确,不过很明显会影响性能
{"aggs": {
"ip_agg": {
"terms": {
"field": "ip",
"size": num,
"shard_size": num * 1000,
"order": {
"_count": "desc"
}
}}}}
shard_size设置多少合适?
为了提高该聚合的精确度,可以通过shard_size参数设置协调节点向各个分片请求的词根个数,然后在协调节点进行聚合,最后只返回size个词根给到客户端,shard_size >= size,如果shard_size设置小于size,ES会自动将其设置为size,默认情况下shard_size建议设置为(1.5 * size + 10)。
更多推荐
已为社区贡献1条内容
所有评论(0)