如何区分由OpenSearch 1.3与2.5创建的索引?
如何通过
index.version.created字段区分OpenSearch 1.3与2.5创建的索引 核心对应关系
OpenSearch的index.version.created字段是索引创建时对应的版本编码值,针对你的场景:
- OpenSearch 1.3.x 创建的索引,该字段值为
135238227 - OpenSearch 2.5.x 创建的索引,该字段值为
136267827
编码规则说明
这个编码值由OpenSearch官方定义,对应关系无需自行计算(编码格式为MAJOR*10000000 + MINOR*100000 + PATCH*1000 + BUILD,但官方直接给出各版本的固定编码)。你可以通过已知索引的编码值直接做匹配判断。
批量筛选索引的方法
如果需要一次性排查所有索引的创建版本,执行以下命令:
GET /_all/_settings?flat_settings=true&filter_path=*.index.version.created
返回结果会列出每个索引的created字段值,直接筛选出值为135238227的索引即可,这些就是需要重索引的1.3版本创建的索引。
关于集群版本显示的说明
你执行GET /得到的7.10.2版本是正常现象:AWS OpenSearch基于Elasticsearch 7.10.2分支fork开发,集群会保留这个基础版本标识,但实际运行的是OpenSearch 1.3/2.5,不影响索引版本的判断。
升级前处理建议
针对后续升级3.x的需求:
- 用上述批量查询命令定位所有1.3创建的索引
- 对这些索引执行重索引操作,将数据迁移至2.5创建的新索引
- 已被删除的时序数据索引无需处理
内容的提问来源于stack exchange,提问作者Eric K Yung
相关产品推荐
相关产品推荐

