elasticsearch elasticsearch聚合-存储桶的精确计数,elasticsearch,elasticsearch" /> elasticsearch elasticsearch聚合-存储桶的精确计数,elasticsearch,elasticsearch" />

elasticsearch elasticsearch聚合-存储桶的精确计数

elasticsearch elasticsearch聚合-存储桶的精确计数,elasticsearch,elasticsearch,Elasticsearch新手问题。我将shakespeare.json加载到Elastic中,并试图找出如何进行类似于选择演讲者、按演讲者从行组中计数(1)的聚合。(“Line”是文档的类型,“speaker”是属性之一。) 现在我有一个这样的问题: { "size": 0, "query": { "query": { "match": { "play_name": "HAMLET" } } }, "aggs": {

Elasticsearch新手问题。我将shakespeare.json加载到Elastic中,并试图找出如何进行类似于
选择演讲者、按演讲者从行组中计数(1)的聚合。(“Line”是文档的类型,“speaker”是属性之一。)

现在我有一个这样的问题:

{
  "size": 0,
  "query": {
    "query": {
      "match": {
        "play_name": "HAMLET"
      }
    }
  },
  "aggs": {
    "line_count": {
      "terms": {
        "field": "speaker.speaker_raw"
      }
    }
  }
}
结果看起来很好,但是弹性搜索文档指定术语聚合的文档计数是近似的()。在一个桶里有没有其他魔法可以精确计数

另外,我已经发现,我必须在索引上预先定义一个字段,以便有一个未分析的“speaker”版本,以确保我可以根据原始字段值进行聚合,而不是标记化。(请参阅)

根据,术语聚合中的近似计数是由于碎片扣合对“前x”结果存在“偏差”

如果您设置了
“size”:0
我很确定Elasticsearch将返回准确的结果。

根据,术语聚合中出现近似计数的原因是由于碎片扣合对“top x”结果存在“偏差”


如果您设置了
“size:0”
,我很确定Elasticsearch将返回准确的结果。

设置size:0现在不推荐使用,因为具有高基数字段值的集群会出现内存问题。您只能使用介于1到2147483647之间的数字


来源:

由于对具有高基数字段值的集群造成内存问题,设置大小:0现在不推荐使用。您只能使用介于1到2147483647之间的数字


来源:

ES中的计数对于
术语
聚合是准确和完整的,唯一的近似值是基数和百分位聚合的(IIRC)。参见:和:术语聚合的文档也表示计数也是近似值。想知道这是否是由大小处理的:0?Ha,从未注意到。如果我的阅读正确,那么得出近似计数的原因是由于碎片bucketing对“top x”结果存在“偏见”。所以我想如果你用的是
size:0
应该是准确的,你觉得怎么样?我认为你是对的。如果你这样回答,我可以接受。ES中的计数对于
术语
聚合是准确和完整的,对于基数和百分位聚合,唯一的近似值是(IIRC)。参见:和:术语聚合的文档也表示计数也是近似值。想知道这是否是由大小处理的:0?Ha,从未注意到。如果我的阅读正确,那么得出近似计数的原因是由于碎片bucketing对“top x”结果存在“偏见”。所以我想如果你用的是
size:0
应该是准确的,你觉得怎么样?我认为你是对的。如果您这样回答,我可以接受。可能在最新版本中更改,但0导致错误
[size]必须大于0
可能在最新版本中更改,但0导致错误
[size]必须大于0