首页 > 解决方案 > ElasticSearch:解释所有文档“_size”和“store.size_in_bytes”API 端点总和之间的差异?

问题描述

我注意到,如果我将_size所有 ElasticSearch 文档的属性汇总在一个索引中,我会得到一个值 about 180 GB,但如果我转到_stats同一索引的 API 端点,我会得到一个size_in_bytes值 for all primariesto be 100 GB

根据我的理解,该_size属性应该是_source字段的大小,并且索引当前存储该_source字段,所以它不应该至少与 的总和一样大_size吗?

标签: elasticsearchelastic-stack

解决方案


_size 似乎存储了源文档的实际大小。当实际将源存储在存储字段中时,Elasticsearch 会对其进行压缩(如果我没记错的话,默认为 LZ4)。所以我希望它在磁盘上的大小小于实际大小。如果源中没有任何二进制数据,压缩率也会显着提高。


推荐阅读