Browse Source

fix(BBoss ES): bulkprocessor missing id

JimZhang 3 years ago
parent
commit
ce35930251

+ 7 - 4
src/main/java/com/winhc/bigdata/task/jobs/DynamicPersonIdUpdateJob.java

@@ -16,6 +16,7 @@ import org.elasticsearch.common.collect.Tuple;
 import org.frameworkset.elasticsearch.boot.BBossESStarter;
 import org.frameworkset.elasticsearch.bulk.BulkProcessor;
 import org.frameworkset.elasticsearch.client.ClientInterface;
+import org.frameworkset.elasticsearch.client.ClientOptions;
 import org.frameworkset.elasticsearch.entity.ESDatas;
 import org.frameworkset.elasticsearch.entity.MetaMap;
 import org.frameworkset.util.CollectionUtils;
@@ -248,12 +249,14 @@ public class DynamicPersonIdUpdateJob {
             if (collect.isEmpty()) {
                 Map<String, Object> map = new HashMap<>();
                 map.put("deleted", "9");
-                map.put("id", id);
-                processor.updateData(index, "dynamic", map);
+                ClientOptions clientOptions = new ClientOptions();
+                clientOptions.setId(id);
+                processor.updateData(index, "dynamic", map,clientOptions);
             } else {
                 jsonObject.put("content", collect);
-                jsonObject.put("id", id);
-                processor.insertData(index, "dynamic", jsonObject);
+                ClientOptions clientOptions = new ClientOptions();
+                clientOptions.setId(id);
+                processor.insertData(index, "dynamic", jsonObject,clientOptions);
             }
         } catch (Exception e) {
             log.error("parse json error", e);