Elasticsearch - 使用updateRequest更新不存在的数据时报错Elasticsearch exception : document missing的解决办法

报错现象

使用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有就更新、没有就新增

解决办法:

设置docAsUpserttrue

UpdateRequest updateRequest = new UpdateRequest();
...
updateRequest.docAsUpsert(true);

官网介绍:

Update API | Elasticsearch Guide [6.7] | Elastic

你可能感兴趣的:(elasticsearch,大数据,搜索引擎)