![](/img/trans.png)
[英]What is the state of my destination index after ElasticSearch's reindexing api completes?
[英]What's the difference between cloning and reindexing an index in Elasticsearch?
你有答案:“Reindex 不會從源索引復制設置。映射、分片計數、副本等必須提前配置。”
Clone 和 ReIndex 在 Elasticsearch 中執行類似的操作,但本質上還是有一些區別的。
什么是克隆操作?
克隆操作會將現有索引克隆到新索引中,其中每個原始主分片都被克隆到新索引中的新主分片中。 基本上,此功能是將現有索引復制到具有與原始索引相同的屬性和設置的新索引。
以下是作為克隆操作的一部分發生的內部活動。
克隆功能在我們需要將索引原樣復制到另一個索引的情況下很有用。 Clone 將在目標索引中維護與源索引相同的分片數、相同的映射和設置。
什么是 ReIndex 操作?
ReIndex操作復制源索引的內容並將其寫入目標索引。 此操作僅復制數據,不復制索引設置。 在執行重新索引操作之前,我們需要使用所需的設置和映射預先創建目標索引。 源和目標可以是任何預先存在的索引、索引別名或數據流。 但是,源和目標必須不同。 ReIndex 適用於需要更新分片數量、更新映射、更新設置等的情況。我通常執行 reindex 來更新映射。
可以通過設置以下屬性在后台進行ReIndex操作
wait_for_completion=false.
克隆操作的示例 API 請求:
POST /my_source_index/_clone/my_target_index
重新索引操作的示例 API 請求:
POST _reindex
{
"source": {
"index": "source_index"
},
"dest": {
"index": "target_index"
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.