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     }
原文地址:https://www.cnblogs.com/seufelix/p/13097815.html