[英]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.