ElasticSearch批量更新文档

Posted seufelix

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ElasticSearch批量更新文档相关的知识,希望对你有一定的参考价值。

 1     /**
 2      * 批量更新文档
 3      *
 4      * @param index     ES索引
 5      * @param documents 待提交的批量文档
 6      * @param uuidKey   文档中ID字段对应的key值
 7      */
 8     public BulkResponse updateDocumentsAsBatch(String index, List<Map<String, Object>> documents, String uuidKey) {
 9         BulkResponse response = null;
10         if (StringUtils.isBlank(index) || CollectionUtils.isEmpty(documents)) {
11             log.warn("Es index is blank or documents is empty.");
12             return response;
13         }
14 
15         try {
16             int size = documents.size();
17             BulkRequest bulkRequest = new BulkRequest();
18             for (int i = 0; i < size; i++) {
19                 Map<String, Object> document = documents.get(i);
20                 if (MapUtils.isEmpty(document) || !document.containsKey(uuidKey)) {
21                     continue;
22                 }
23                 bulkRequest.add(new UpdateRequest(index, document.get(uuidKey).toString()).doc(document));
24             }
25             response = client.bulk(bulkRequest, RequestOptions.DEFAULT);
26         } catch (Exception e) {
27             log.error("Update documents to es as batch failed!", e);
28         }
29         return response;
30     }

 

以上是关于ElasticSearch批量更新文档的主要内容,如果未能解决你的问题,请参考以下文章

golang elasticsearch 文档操作(CRUD) --- 2022-04-02

java操作 elasticsearch8.0 doc文档<二>

二elasticSearch的CRUD操作和批量操作

Elasticsearch7.8.0版本入门——JavaAPI操作(批量操作文档)

Elasticsearch7.8.0版本入门——JavaAPI操作(批量操作文档)

Elasticsearch掰开揉碎第12篇java操作ES常用API