### 什么是 `_reindex`?
`_reindex` 是 Elasticsearch 提供的一个 API,用于将数据从一个或多个源索引复制到一个新的目标索引。这个过程可以用于多种场景,包括但不限于:
1. **数据迁移**:将数据从旧的索引迁移到新的索引,特别是在需要更新索引映射或设置时。
2. **数据清洗**:在数据迁移过程中,可以使用 ingest pipeline 对数据进行预处理,例如删除无效字段、添加新字段或转换字段值。
3. **数据归档**:将数据从活跃索引迁移到归档索引,以便长期存储和备份。
4. **数据重组**:将多个源索引的数据合并到一个目标索引中,或者将一个大索引拆分成多个小索引。
5. **性能优化**:通过重新索引,可以优化索引的分片分布,提高搜索和索引性能。
### 为什么进行 `_reindex`?
1. **更新映射**:
- 当你需要更改索引的映射(例如,添加新字段、修改字段类型)时,可以直接创建一个新的索引并使用 `_reindex` 将数据迁移到新的索引中。
- 例如,你可能需要将某个字段从 `text` 类型改为 `keyword` 类型,或者添加新的字段。
2. **应用新的设置**&#x