ElasticSearch Tune for disk usage Translation

  • 时间:
  • 浏览:0

当es存储_source时,它会一次性压缩多个文档以提高整体压缩率。这类文档之间具有相同字段名称甚至字段值是很普遍的,怪怪的是在基数较低原应遵循zipfian分布的情况报告下。

数值类型的类型挑选原应在很大程度上影响磁盘使用率。具体地说,使用整值类型存储整数,在最少的情况报告下浮点数应该被存储在scaled_float中或更小的类型中。使用float而都有double,使用half_float而都有float原应帮助减少存储空间

_source存储文档的原始json数据,原应你不需用哪些需用直接禁用了。然而,像update和reindex这些需用访问_source的APIs将不起作用

_all属性会索引有另有二个 文档中的所有字段值很多会使用巨大的空间。原应你不需用在同个时间索引所有字段,需用将_all属性禁用

另外,原应你不关心计分系统,我就配置es在每个查询中仅仅索引文档。当然你也需用索引这些字段,很多短语查询原应报错很多计分系统会假定每次查询在每个文档中只会突然出现 一次

_forcemerge API需用减少每个分片上的片段数量来增大每个片段的大小。在大多数情况报告下,每个分片的片段数量需用通过max_num_segments=1被设置为1

4.禁用_all

5.禁用_source

Shrink API帮助减少有另有二个 索引的分片数量。和上面的force_merge API一起使用需用显著地减少分片和片段的数量

默认的动态字符串索引将字符串属性索引为文本和关键词,原应你只需用使用其中的某种这原应是很大的浪费,典型的id只需用被索引为关键字而body字段只需用被索引为文本属性。

7.聚焦整合

原应多个文档会被压缩到块中存储,原应字段遵循相同的顺序就更有原应在_source找到相同的长串。

text:该属性在索引中存储了作为文档计分所需用的基本的因素,原应你索引的本来文本而不关注文本分数,这麼我就配置该索引不使用norms参数

index:默认情况报告下,es会对大多数字段进行索引并加带doc值,以便需用直接索引和聚合它们,很多对于有另有二个 需用要使用的字段eg:你需用使用foo这些数值型字段展示直方图,这麼这些字段永远不不被过滤掉,这麼我就安全地禁用映射中此字段的索引。

注意:巨大的分片大小会带来一定的缺点,这类需用后后的恢复时间

9.在最少的情况报告下使用最小的数字类型

10.使用索引排序来共置相同的文档

需用通过在字符串上显式映射类型原应配置动态模板为文本或关键词来禁用上面的社会形态

1.禁用不需用的属性

es中的索引会被存储在有另有二个 或多个分片上。每有另有二个 分片本来有另有二个 Lucene索引很多有有另有二个 或多个片段组成,哪些片段才是真正磁盘文件。越大的片段原应越高效以及越能存储数据

8.收缩索引

分片越大在存储数据的事先越高效,通过使用更少的分片数量来创建索引从而减少有另有二个 索引中的主分片数量来增大分片大小原应通过使用Sharking API来修改目前原应地处的索引

默认情况报告下,文档会被压缩在一起以便不不 被加带到索引中,原应你提供索引排序这麼它们会被有序压缩。有序很多社会形态,字段以及值都一样的文档会被压缩在一起以提高压缩率

6.使用best_compression

_source和存储属性会很容易消耗掉不可忽视的磁盘空间。它们需用使用best_compression:codec 来进一步压缩空间

text:默认情况报告下该属性还存储了frequencies和positions有另有二个 属性,第有另有二个 属性在积分系统中被使用到,第二个在短语查询中使用到。原应你不需用执行短语查询,这麼我就禁用positions属性

11.文档字段保持相同的顺序