悟空,拿我的打狗棒来

ES索引默认的压缩功能有效果吗?

Elasticsearch | 作者 wangxinrong | 发布于2019年07月01日 | 阅读数:12420

我测试的情况如下:
1.找到一个默认创建的索引,按照官网说法数据默认应该是LZ4压缩的,大小是2.2G。我用elasticdump导出成文本文件,每行一个JSON字符串,这个文本文件的大小是2.2G
2.把这个文件再用elasticdump导回ES,导到一个也是默认生成的索引里,这个索引大小是2.22G。
3.把这个文件导到另一个索引里,这个索设置了 "codec": "best_compression" ,也就是官网说的压缩比更高的DEFLATE算法,大小是1.93GB
 
现在问题来了:
1.默认的大小为什么和文本文件里一样大,本文文件里的内容可是完全未压缩的内容。
2.即使用了best_compression,也只是到原来的88%,这个空间的减少非常有限啊。
 
 
压缩测试.png
已邀请:

Ombres

赞同来自: byx313 zqw226

Elasticsearch统计的索引大小是整个索引所占空间空间的大小,整个索引包括很多文件,比如tim词典,tip词典索引,pos位置信息,fdt存储字段信息(_source实际存储的文件),等等。一个索引需要存储的信息太多了,就不一一列举了。
Elasticsearch中"codec": "best_compression" ,是对fdt这个文件进行压缩,其他的是不会进行压缩的。

zqc0512 - andy zhou

赞同来自:

try do segment force to 1 
 
 

weizijun - elasticsearch fan

赞同来自:

可能是索引建的太多了,索引占比比较大,"codec": "best_compression"  只是对原始内容压缩,效果不明显,说明索引的占比比较大

要回复问题请先登录注册