Elasticsearch,获得平均文档长度

Cen*_*tAu 11 elasticsearch

在弹性搜索中是否有更好的方法(除了发出匹配所有查询并手动平均所有返回文档的长度)以获得特定索引的平均文档长度?

rch*_*ang 10

_size映射场,如果允许,应该给你的每个文件的大小是免费的.将此与avg聚合相结合可以获得您想要的效果.就像是:

{
  "query" : {"match_all" : {}},
  "aggs" : {"avg_size" : {"avg" : {"terms" : {"field" : "_size"}}}}
}
Run Code Online (Sandbox Code Playgroud)

  • 如果您想获得文档大小,您需要指示ES存储每个文档的大小:https://www.elastic.co/guide/en/elasticsearch/reference/1.4/mapping-size-field.html (4认同)
  • 除非您使用的是Elasticsearch 2.0或更早版本,否则不再支持此功能。 (2认同)
  • 在最新版本的“ elasticsearch”上,您需要安装插件https://www.elastic.co/guide/en/elasticsearch/plugins/current/mapper-size.html(https://github.com/elastic/elasticsearch/issues / 804) (2认同)