报错现象
使用UpdateRequest更新已存在的数据是OK的,如果数据不存在会报错:
Caused by: com.utils.es.storage.StorageException: failure in bulk execution:
[0]: index [indexName], type [_doc], id [A], message [[indexName/XVi0g3O0Smyjo164ruRcgQ][[indexName][1]] ElasticsearchException[Elasticsearch exception [type=document_missing_exception, reason=[_doc][A]: document missing]]]
期望:
目标doc有就更新、没有就新增
解决办法:
设置docAsUpsert
为true
UpdateRequest updateRequest = new UpdateRequest();
...
updateRequest.docAsUpsert(true);
官网介绍: