实战-elasticsearch索引平滑迁移方案
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
elasticsearch中修改文档字段和数据平滑迁移方案
在Elasticsearch中,一旦文档字段映射(mapping)被创建,其字段类型或分词器就无法随意更改。这是因为数据入库时,已根据设定的mapping信息创建索引并生成了相应索引数据文件。若需要修改现有字段,有以下方案:
01 - ES数据平滑迁移方案
如果不需保持字段名称不变,可以新增一个符合要求的字段来替换原字段,无需重建旧索引数据。若需要保持字段名称一致,可以使用Elasticsearch的索引别名(aliases)和重建索引(reindex)命令。
首先,若旧索引未创建别名,应用aliases命令创建别名并调整业务访问至该别名。接着,创建新索引,并确保其类型(type)与旧索引一致。然后,通过_reindex命令执行索引重建,重建前应使用_count命令查询索引总数以估算完成时间和设置参数。重建时,可以设置参数如slices, conflicts, size等来优化同步过程。
重建完成后,通过_count命令确认新索引文档总数,然后删除旧索引别名并为新索引添加别名。最后,业务通过新的别名访问服务,重复reindex操作以补充在切换过程中旧索引新增的文档。
以上步骤和设置参数的详细说明可以在官方文档找到:https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html
文章由互联网从业人员周星星原创,首发于公众号:码农周星星(微信号:mnzxx1989),未经授权禁止转载。
想要了解更多内容?