"mappings": { "device_monitor_attr_his": { "properties": { "createtime": { "fielddata": true, "type": "text", "fields": { "keyword": { "type": "keyword" } } }, "code": { "type": "text", "fields": { "keyword": { "ignore_above": 256, "type": "keyword" } } }, "monkey": { "type": "text", "fields": { "keyword": { "ignore_above": 256, "type": "keyword" } } }, "buidingid": { "type": "long" }, "systemtype": { "type": "long" }, "devtypeid": { "type": "long" }, "ownerid": { "type": "long" }, "deviceid": { "type": "long" }, "drawingid": { "type": "long" }, "monvalue": { "fielddata": true, "type": "text", "fields": { "keyword": { "type": "keyword" } } }, "devmac": { "type": "text", "fields": { "keyword": { "ignore_above": 256, "type": "keyword" } } }, "ownertype": { "type": "long" }, "location": { "type": "text", "fields": { "keyword": { "ignore_above": 256, "type": "keyword" } } }, "id": { "type": "long" }, "powervalue1": { "type": "float" }, "powervalue2": { "type": "float" }, "powervalue3": { "type": "float" } } } }这个是创建的索引,需要如何修改createtime的类型,代码怎么写?
时间: 2023-07-05 22:31:49 浏览: 139
Spring源代码解析(四):Spring_MVC.doc
根据上述索引的mapping配置,createtime的类型为text。下面是修改createtime类型为date的示例代码:
```
PUT device_monitor_attr_his/_mapping
{
"properties": {
"createtime": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss"
}
}
}
```
在上述代码中,我们使用了PUT请求和/_mapping API来更新映射。在properties字段中,我们指定了createtime字段,并将其类型更改为date。format字段指定了日期时间格式,这里使用了常见的"yyyy-MM-dd HH:mm:ss"格式。
需要注意的是,这个操作会重新定义索引的mapping,因此需要确保索引中的所有文档都符合新的mapping定义。如果文档中存在无法转换为日期时间格式的字符串,这个操作可能会失败。在执行这个操作之前,强烈建议先对索引中的数据进行备份。
阅读全文