概述
在 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
同步过来的数据。