概述
在 ES Serverless 服务创建索引,需指定时间字段,同时该字段类型要求为date
。将已有 ES 集群数据同步到 ES Serverless 服务中的索引时,如果数据中的字段与时间字段名称一致而类型不一致时,将导致写入失败,此时我们可通过 reindex 的方式进行字段类型转换。 流程说明
1. 创建 reindex 的目标索引,并将与 ES Serverless 服务中的索引时间字段同名的字段,类型设置为date
。
2. 通过 reindex 接口,将存量数据同步到目标索引。
案例演示
1. 假设我们需要将索引source_index
中的数据同步到 ES Serverless 服务中的索引(该索引时间字段为@timestamp
),此时查看 source_index 的字段配置,发现source_index
中字段@timestamp
的字段类型为keyword
类型,此时同步数据将出现写入报错。
2. 查看 source_index 中的文档数。
3. 创建 reindex 的目标索引dest_index
,同时在 mapping 中将该索引的字段@timestamp
类型指定为date
。
4. 通过 reindex 接口,将source_index
中的数据同步到dest_index
,对比原来source_index
中的文档数,数量完全匹配。
POST _reindex
{
"source": {
"index": "source_index"
},
"dest": {
"index": "dest_index"
}
}
5. 此时搜索dest_index
的数据,可以检索到source_index
同步过来的数据。
本页内容是否解决了您的问题?