聚合大小会产生不同的结果
Aggregations Size makes different results
我有像
这样的简单聚合
"aggs": {
"firm_aggregation": {
"terms": {
"field": "experience.company_name.slug",
"size": 10
}
}
}
这给了我这样的结果
"aggregations": {
"firm_aggregation": {
"buckets": [
... (some others)
{
"key": "freelancer",
"doc_count": 33
},
但是当我将聚合大小增加到 2000 时,我得到
"aggregations": {
"firm_aggregation": {
"buckets": [
... (some others)
{
"key": "freelancer",
"doc_count": 35
},
为什么会这样??我认为这个尺寸会增加弹性 return.
的聚合数量
这是由于在分片级别进行的估计。
对于大小为 5 的结果,仅从每个分片中获取前 5 个术语,并将其相加以获得结果。这不需要非常准确。
这个有很好的解释here。
与 size 一起,您可以传递 shard_size 参数,它可以控制此行为而不影响返回的数据
我有像
这样的简单聚合 "aggs": {
"firm_aggregation": {
"terms": {
"field": "experience.company_name.slug",
"size": 10
}
}
}
这给了我这样的结果
"aggregations": {
"firm_aggregation": {
"buckets": [
... (some others)
{
"key": "freelancer",
"doc_count": 33
},
但是当我将聚合大小增加到 2000 时,我得到
"aggregations": {
"firm_aggregation": {
"buckets": [
... (some others)
{
"key": "freelancer",
"doc_count": 35
},
为什么会这样??我认为这个尺寸会增加弹性 return.
的聚合数量这是由于在分片级别进行的估计。 对于大小为 5 的结果,仅从每个分片中获取前 5 个术语,并将其相加以获得结果。这不需要非常准确。
这个有很好的解释here。
与 size 一起,您可以传递 shard_size 参数,它可以控制此行为而不影响返回的数据