2016-03-17 55 views
3

由于磁盘空间不足,并在我的指数之一的大量删除的文件,我现在需要做的优化指令(ElasticSearch 1.7)优化Elasticsearch指数

,该指数具有以下数据:

碎片:15 * 1 |文档:23,165,760 |大小:1.25TB

  • 优化API是否会阻止任何索引/查询操作,直到优化完成?
  • 优化API是否会影响其他索引上的操作?
  • 是否有可能有大致的时间知道需要多长时间?

对不起我的英语不好:)

让我知道如果你需要任何进一步的统计

回答

4

请问优化API阻止,直到优化任何索引/查询操作完成?

不,它可以并行运行,但索引过程会影响优化。创建新的细分受众群,这些细分受到优化......

优化API是否会影响其他索引上的操作?

不是直接的,而是间接通过使用额外的CPU,内存和磁盘。

是否有可能有大致的时间知道需要多长时间?

Nop :-),也许只能通过预先测试并外推到文档/段的数量。

请注意,优化将需要额外的磁盘空间。如果您优化的段数很少,优化过程很可能会尝试优化一组非常大的段,这意味着它需要额外的(largeSegment1_size + largeSegment2_size + ....)磁盘空间。只有在生成的合并细分完成时,旧细分才会被删除。

另外,请查看only_expunge_deletes选项。

另一个建议是在群集上负载较少时执行优化。正如我所提到的,优化需要额外的CPU,内存和磁盘空间资源。

+0

谢谢安德烈:) 最终有可能阻止优化过程吗?也许停止索引。 有没有我能理解优化结束的标志? – betto86

+0

我不认为有可能停止优化。您可以使用'GET/_nodes/stats/thread_pool'来检查是否存在主动优化,并查找'optimize'部分。 –

+0

看来优化已经结束了。没有磁盘空间被释放。 我只是用kopf插件调用了optimize命令。我想没有删除删除参数已经设置。 我是否必须发送命令: POST/my_index/_optimize?only_expunge_deletes = true 我认为优化API会释放磁盘空间,即使没有该参数 – betto86