有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

概述

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