簡體   English   中英

Elasticsearch 將來自多個索引的數據合並到合並索引中

[英]Elasticsearch merge data from multiple indexes into merged index

我的公司使用開箱即用的軟件,該軟件將日志導出到 Elasticsearch(並使用這些日志)。 該軟件每天為每種數據類型創建一個索引,例如:“A”記錄數據 => A_Data_2022_12_13、A_Data_2022_12_14 等等。因為這種數據存儲方式我們的 Elastic 100GB 數據有數千個分片。 我想將所有這些分片合並為少量分片,每種數據類型 1 或 2 個。

我考慮過重新索引,但我認為這對我的目的來說太過分了,因為我希望數據保持與現在相同,但合並到一個分片中。

這樣做的最佳做法是什么? 謝謝!

我試過重新索引,但它需要很多時間,而且我認為這不是正確的解決方案。

太多的分片會導致過度使用堆。 不平衡的分片會導致集群中出現熱點。 你的決定是正確的,你應該將小索引組合成一個或多個索引。 因此,您將擁有更穩定的分片,即更穩定的集群。

你可以做什么?

  1. 創建翻轉索引並將索引器指向該索引。 這樣,新的數據就會存儲在新的索引中,所以你只需要關心現有的數據。
  2. 使用過濾別名搜索您的數據。
  3. 重建索引或等待。 新數據正在索引到新索引中,但是您要為現有索引做什么? 有兩種方法。 我假設你有一個索引保留期,所以你可以等到所有分離的索引都被刪除或者你可以直接重新索引你的數據。

注意:您可以使用 slice 調整重建索引速度並將 number_of_replicas 設置為 0。

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM