2015-04-27 33 views
0

我已经simples汇聚像聚集尺寸使得不同的结果

"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 
      }, 

为什么会发生?我认为这样的规模会增加弹性回报的总量。

回答

1

这是由于在碎片级别上完成的估计。 对于大小为5的结果,从每个分片中只取出前5个项目,并将其添加以获得结果。这不需要非常准确。

关于此here有一个非常好的解释。

随着大小,你可以通过它可以控制这种行为,而不会影响返回

+0

感谢我会读到它的数据shard_size参数。 –