2016-03-17 81 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