碰到的问题是使用如下方法去修改已存在的时间,则不管原来的时间格式是什么,新的时间格式都为 yyyy-MM-dd’T’HH:mm:ss.SSS’Z’,当再次获取这个文档时,就报时间解析不了的错误:
@Autowired
private ElasticsearchRestTemplate elasticsearchRestTemplate;
@GetMapping("/testEdit")
public JsonResult<Object> testEdit(String id, TestEs testEs) {
Document document = Document.create();
document.put("createTime", testEs.getCreateTime());
UpdateResponse test_es = elasticsearchRestTemplate.update(UpdateQuery.builder(id).withDocument(document).build(), IndexCoordinates.of("test_es"));
return JsonHelper.toJson(testEs);
}
卡了2天找到了算是比较“暴力”的解决办法,将两种的格式都写上去,这样基本上就不存在时间格式解析不了数据的问题了:
@Field(type = FieldType.Date, format = DateFormat.custom,
pattern = "yyyy-MM-dd'T'HH:mm:ss || yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
private LocalDateTime createTime;
最后附上参考链接:
https://blog.csdn.net/QCIWYY/article/details/96306496
如果博友有更好的办法,还请在评论区教教小弟,小弟这厢有礼了!!!
|