浏览代码

update esflute

Shinsuke Sugaya 9 年之前
父节点
当前提交
9bcc5667ec
共有 39 个文件被更改,包括 810 次插入225 次删除
  1. 21 3
      src/main/java/org/codelibs/fess/es/config/allcommon/EsAbstractBehavior.java
  2. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsBadWordBhv.java
  3. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsBoostDocumentRuleBhv.java
  4. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsCrawlingInfoBhv.java
  5. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsCrawlingInfoParamBhv.java
  6. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsDataConfigBhv.java
  7. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsDataConfigToLabelBhv.java
  8. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsDataConfigToRoleBhv.java
  9. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsDuplicateHostBhv.java
  10. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsElevateWordBhv.java
  11. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsElevateWordToLabelBhv.java
  12. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsFailureUrlBhv.java
  13. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsFileAuthenticationBhv.java
  14. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsFileConfigBhv.java
  15. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsFileConfigToLabelBhv.java
  16. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsFileConfigToRoleBhv.java
  17. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsJobLogBhv.java
  18. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsKeyMatchBhv.java
  19. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsLabelToRoleBhv.java
  20. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsLabelTypeBhv.java
  21. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsPathMappingBhv.java
  22. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsRequestHeaderBhv.java
  23. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsRoleTypeBhv.java
  24. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsScheduledJobBhv.java
  25. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsWebAuthenticationBhv.java
  26. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsWebConfigBhv.java
  27. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsWebConfigToLabelBhv.java
  28. 21 6
      src/main/java/org/codelibs/fess/es/config/bsbhv/BsWebConfigToRoleBhv.java
  29. 21 3
      src/main/java/org/codelibs/fess/es/log/allcommon/EsAbstractBehavior.java
  30. 21 6
      src/main/java/org/codelibs/fess/es/log/bsbhv/BsClickLogBhv.java
  31. 21 6
      src/main/java/org/codelibs/fess/es/log/bsbhv/BsEventLogBhv.java
  32. 21 6
      src/main/java/org/codelibs/fess/es/log/bsbhv/BsFavoriteLogBhv.java
  33. 21 6
      src/main/java/org/codelibs/fess/es/log/bsbhv/BsSearchFieldLogBhv.java
  34. 21 6
      src/main/java/org/codelibs/fess/es/log/bsbhv/BsSearchLogBhv.java
  35. 21 6
      src/main/java/org/codelibs/fess/es/log/bsbhv/BsUserInfoBhv.java
  36. 21 3
      src/main/java/org/codelibs/fess/es/user/allcommon/EsAbstractBehavior.java
  37. 18 6
      src/main/java/org/codelibs/fess/es/user/bsbhv/BsGroupBhv.java
  38. 18 6
      src/main/java/org/codelibs/fess/es/user/bsbhv/BsRoleBhv.java
  39. 18 6
      src/main/java/org/codelibs/fess/es/user/bsbhv/BsUserBhv.java

+ 21 - 3
src/main/java/org/codelibs/fess/es/config/allcommon/EsAbstractBehavior.java

@@ -361,16 +361,27 @@ public abstract class EsAbstractBehavior<ENTITY extends Entity, CB extends Condi
     }
     }
 
 
     protected <BUILDER> int[] delegateBatchRequest(final List<? extends Entity> entityList, Function<EsAbstractEntity, BUILDER> call) {
     protected <BUILDER> int[] delegateBatchRequest(final List<? extends Entity> entityList, Function<EsAbstractEntity, BUILDER> call) {
-        final BulkList<? extends Entity> bulkList = (BulkList<? extends Entity>) entityList;
+        @SuppressWarnings("unchecked")
+        final BulkList<? extends Entity, BUILDER> bulkList = (BulkList<? extends Entity, BUILDER>) entityList;
+        final RequestOptionCall<BUILDER> builderEntityCall = bulkList.getEntityCall();
         final BulkRequestBuilder bulkBuilder = client.prepareBulk();
         final BulkRequestBuilder bulkBuilder = client.prepareBulk();
         for (final Entity entity : entityList) {
         for (final Entity entity : entityList) {
             final EsAbstractEntity esEntity = (EsAbstractEntity) entity;
             final EsAbstractEntity esEntity = (EsAbstractEntity) entity;
             BUILDER builder = call.apply(esEntity);
             BUILDER builder = call.apply(esEntity);
             if (builder instanceof IndexRequestBuilder) {
             if (builder instanceof IndexRequestBuilder) {
+                if (builderEntityCall != null) {
+                    builderEntityCall.callback(builder);
+                }
                 bulkBuilder.add((IndexRequestBuilder) builder);
                 bulkBuilder.add((IndexRequestBuilder) builder);
             } else if (builder instanceof UpdateRequestBuilder) {
             } else if (builder instanceof UpdateRequestBuilder) {
+                if (builderEntityCall != null) {
+                    builderEntityCall.callback(builder);
+                }
                 bulkBuilder.add((UpdateRequestBuilder) builder);
                 bulkBuilder.add((UpdateRequestBuilder) builder);
             } else if (builder instanceof DeleteRequestBuilder) {
             } else if (builder instanceof DeleteRequestBuilder) {
+                if (builderEntityCall != null) {
+                    builderEntityCall.callback(builder);
+                }
                 bulkBuilder.add((DeleteRequestBuilder) builder);
                 bulkBuilder.add((DeleteRequestBuilder) builder);
             }
             }
         }
         }
@@ -424,14 +435,17 @@ public abstract class EsAbstractBehavior<ENTITY extends Entity, CB extends Condi
         return new String[] { str };
         return new String[] { str };
     }
     }
 
 
-    public static class BulkList<E> implements List<E> {
+    public static class BulkList<E, B> implements List<E> {
 
 
         private final List<E> parent;
         private final List<E> parent;
 
 
         private final RequestOptionCall<BulkRequestBuilder> call;
         private final RequestOptionCall<BulkRequestBuilder> call;
 
 
-        public BulkList(final List<E> parent, final RequestOptionCall<BulkRequestBuilder> call) {
+        private final RequestOptionCall<B> entityCall;
+
+        public BulkList(final List<E> parent, final RequestOptionCall<BulkRequestBuilder> call, final RequestOptionCall<B> entityCall) {
             this.parent = parent;
             this.parent = parent;
+            this.entityCall = entityCall;
             this.call = call;
             this.call = call;
         }
         }
 
 
@@ -538,5 +552,9 @@ public abstract class EsAbstractBehavior<ENTITY extends Entity, CB extends Condi
         public RequestOptionCall<BulkRequestBuilder> getCall() {
         public RequestOptionCall<BulkRequestBuilder> getCall() {
             return call;
             return call;
         }
         }
+
+        public RequestOptionCall<B> getEntityCall() {
+            return entityCall;
+        }
     }
     }
 }
 }

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsBadWordBhv.java

@@ -226,27 +226,42 @@ public abstract class BsBadWordBhv extends EsAbstractBehavior<BadWord, BadWordCB
     }
     }
 
 
     public int[] batchInsert(List<BadWord> list) {
     public int[] batchInsert(List<BadWord> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<BadWord> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<BadWord> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<BadWord> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<BadWord> list) {
     public int[] batchUpdate(List<BadWord> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<BadWord> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<BadWord> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<BadWord> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<BadWord> list) {
     public int[] batchDelete(List<BadWord> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<BadWord> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<BadWord> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<BadWord> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsBoostDocumentRuleBhv.java

@@ -227,27 +227,42 @@ public abstract class BsBoostDocumentRuleBhv extends EsAbstractBehavior<BoostDoc
     }
     }
 
 
     public int[] batchInsert(List<BoostDocumentRule> list) {
     public int[] batchInsert(List<BoostDocumentRule> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<BoostDocumentRule> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<BoostDocumentRule> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<BoostDocumentRule> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<BoostDocumentRule> list) {
     public int[] batchUpdate(List<BoostDocumentRule> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<BoostDocumentRule> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<BoostDocumentRule> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<BoostDocumentRule> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<BoostDocumentRule> list) {
     public int[] batchDelete(List<BoostDocumentRule> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<BoostDocumentRule> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<BoostDocumentRule> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<BoostDocumentRule> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsCrawlingInfoBhv.java

@@ -223,27 +223,42 @@ public abstract class BsCrawlingInfoBhv extends EsAbstractBehavior<CrawlingInfo,
     }
     }
 
 
     public int[] batchInsert(List<CrawlingInfo> list) {
     public int[] batchInsert(List<CrawlingInfo> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<CrawlingInfo> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<CrawlingInfo> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<CrawlingInfo> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<CrawlingInfo> list) {
     public int[] batchUpdate(List<CrawlingInfo> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<CrawlingInfo> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<CrawlingInfo> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<CrawlingInfo> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<CrawlingInfo> list) {
     public int[] batchDelete(List<CrawlingInfo> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<CrawlingInfo> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<CrawlingInfo> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<CrawlingInfo> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsCrawlingInfoParamBhv.java

@@ -224,27 +224,42 @@ public abstract class BsCrawlingInfoParamBhv extends EsAbstractBehavior<Crawling
     }
     }
 
 
     public int[] batchInsert(List<CrawlingInfoParam> list) {
     public int[] batchInsert(List<CrawlingInfoParam> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<CrawlingInfoParam> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<CrawlingInfoParam> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<CrawlingInfoParam> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<CrawlingInfoParam> list) {
     public int[] batchUpdate(List<CrawlingInfoParam> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<CrawlingInfoParam> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<CrawlingInfoParam> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<CrawlingInfoParam> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<CrawlingInfoParam> list) {
     public int[] batchDelete(List<CrawlingInfoParam> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<CrawlingInfoParam> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<CrawlingInfoParam> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<CrawlingInfoParam> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsDataConfigBhv.java

@@ -230,27 +230,42 @@ public abstract class BsDataConfigBhv extends EsAbstractBehavior<DataConfig, Dat
     }
     }
 
 
     public int[] batchInsert(List<DataConfig> list) {
     public int[] batchInsert(List<DataConfig> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<DataConfig> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<DataConfig> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<DataConfig> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<DataConfig> list) {
     public int[] batchUpdate(List<DataConfig> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<DataConfig> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<DataConfig> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<DataConfig> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<DataConfig> list) {
     public int[] batchDelete(List<DataConfig> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<DataConfig> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<DataConfig> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<DataConfig> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsDataConfigToLabelBhv.java

@@ -222,27 +222,42 @@ public abstract class BsDataConfigToLabelBhv extends EsAbstractBehavior<DataConf
     }
     }
 
 
     public int[] batchInsert(List<DataConfigToLabel> list) {
     public int[] batchInsert(List<DataConfigToLabel> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<DataConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<DataConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<DataConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<DataConfigToLabel> list) {
     public int[] batchUpdate(List<DataConfigToLabel> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<DataConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<DataConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<DataConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<DataConfigToLabel> list) {
     public int[] batchDelete(List<DataConfigToLabel> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<DataConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<DataConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<DataConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsDataConfigToRoleBhv.java

@@ -222,27 +222,42 @@ public abstract class BsDataConfigToRoleBhv extends EsAbstractBehavior<DataConfi
     }
     }
 
 
     public int[] batchInsert(List<DataConfigToRole> list) {
     public int[] batchInsert(List<DataConfigToRole> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<DataConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<DataConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<DataConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<DataConfigToRole> list) {
     public int[] batchUpdate(List<DataConfigToRole> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<DataConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<DataConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<DataConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<DataConfigToRole> list) {
     public int[] batchDelete(List<DataConfigToRole> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<DataConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<DataConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<DataConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsDuplicateHostBhv.java

@@ -226,27 +226,42 @@ public abstract class BsDuplicateHostBhv extends EsAbstractBehavior<DuplicateHos
     }
     }
 
 
     public int[] batchInsert(List<DuplicateHost> list) {
     public int[] batchInsert(List<DuplicateHost> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<DuplicateHost> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<DuplicateHost> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<DuplicateHost> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<DuplicateHost> list) {
     public int[] batchUpdate(List<DuplicateHost> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<DuplicateHost> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<DuplicateHost> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<DuplicateHost> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<DuplicateHost> list) {
     public int[] batchDelete(List<DuplicateHost> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<DuplicateHost> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<DuplicateHost> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<DuplicateHost> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsElevateWordBhv.java

@@ -228,27 +228,42 @@ public abstract class BsElevateWordBhv extends EsAbstractBehavior<ElevateWord, E
     }
     }
 
 
     public int[] batchInsert(List<ElevateWord> list) {
     public int[] batchInsert(List<ElevateWord> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<ElevateWord> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<ElevateWord> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<ElevateWord> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<ElevateWord> list) {
     public int[] batchUpdate(List<ElevateWord> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<ElevateWord> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<ElevateWord> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<ElevateWord> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<ElevateWord> list) {
     public int[] batchDelete(List<ElevateWord> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<ElevateWord> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<ElevateWord> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<ElevateWord> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsElevateWordToLabelBhv.java

@@ -222,27 +222,42 @@ public abstract class BsElevateWordToLabelBhv extends EsAbstractBehavior<Elevate
     }
     }
 
 
     public int[] batchInsert(List<ElevateWordToLabel> list) {
     public int[] batchInsert(List<ElevateWordToLabel> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<ElevateWordToLabel> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<ElevateWordToLabel> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<ElevateWordToLabel> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<ElevateWordToLabel> list) {
     public int[] batchUpdate(List<ElevateWordToLabel> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<ElevateWordToLabel> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<ElevateWordToLabel> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<ElevateWordToLabel> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<ElevateWordToLabel> list) {
     public int[] batchDelete(List<ElevateWordToLabel> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<ElevateWordToLabel> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<ElevateWordToLabel> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<ElevateWordToLabel> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsFailureUrlBhv.java

@@ -226,27 +226,42 @@ public abstract class BsFailureUrlBhv extends EsAbstractBehavior<FailureUrl, Fai
     }
     }
 
 
     public int[] batchInsert(List<FailureUrl> list) {
     public int[] batchInsert(List<FailureUrl> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<FailureUrl> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<FailureUrl> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<FailureUrl> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<FailureUrl> list) {
     public int[] batchUpdate(List<FailureUrl> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<FailureUrl> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<FailureUrl> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<FailureUrl> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<FailureUrl> list) {
     public int[] batchDelete(List<FailureUrl> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<FailureUrl> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<FailureUrl> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<FailureUrl> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsFileAuthenticationBhv.java

@@ -231,27 +231,42 @@ public abstract class BsFileAuthenticationBhv extends EsAbstractBehavior<FileAut
     }
     }
 
 
     public int[] batchInsert(List<FileAuthentication> list) {
     public int[] batchInsert(List<FileAuthentication> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<FileAuthentication> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<FileAuthentication> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<FileAuthentication> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<FileAuthentication> list) {
     public int[] batchUpdate(List<FileAuthentication> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<FileAuthentication> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<FileAuthentication> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<FileAuthentication> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<FileAuthentication> list) {
     public int[] batchDelete(List<FileAuthentication> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<FileAuthentication> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<FileAuthentication> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<FileAuthentication> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsFileConfigBhv.java

@@ -238,27 +238,42 @@ public abstract class BsFileConfigBhv extends EsAbstractBehavior<FileConfig, Fil
     }
     }
 
 
     public int[] batchInsert(List<FileConfig> list) {
     public int[] batchInsert(List<FileConfig> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<FileConfig> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<FileConfig> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<FileConfig> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<FileConfig> list) {
     public int[] batchUpdate(List<FileConfig> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<FileConfig> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<FileConfig> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<FileConfig> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<FileConfig> list) {
     public int[] batchDelete(List<FileConfig> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<FileConfig> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<FileConfig> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<FileConfig> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsFileConfigToLabelBhv.java

@@ -222,27 +222,42 @@ public abstract class BsFileConfigToLabelBhv extends EsAbstractBehavior<FileConf
     }
     }
 
 
     public int[] batchInsert(List<FileConfigToLabel> list) {
     public int[] batchInsert(List<FileConfigToLabel> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<FileConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<FileConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<FileConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<FileConfigToLabel> list) {
     public int[] batchUpdate(List<FileConfigToLabel> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<FileConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<FileConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<FileConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<FileConfigToLabel> list) {
     public int[] batchDelete(List<FileConfigToLabel> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<FileConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<FileConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<FileConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsFileConfigToRoleBhv.java

@@ -222,27 +222,42 @@ public abstract class BsFileConfigToRoleBhv extends EsAbstractBehavior<FileConfi
     }
     }
 
 
     public int[] batchInsert(List<FileConfigToRole> list) {
     public int[] batchInsert(List<FileConfigToRole> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<FileConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<FileConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<FileConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<FileConfigToRole> list) {
     public int[] batchUpdate(List<FileConfigToRole> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<FileConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<FileConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<FileConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<FileConfigToRole> list) {
     public int[] batchDelete(List<FileConfigToRole> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<FileConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<FileConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<FileConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsJobLogBhv.java

@@ -227,27 +227,42 @@ public abstract class BsJobLogBhv extends EsAbstractBehavior<JobLog, JobLogCB> {
     }
     }
 
 
     public int[] batchInsert(List<JobLog> list) {
     public int[] batchInsert(List<JobLog> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<JobLog> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<JobLog> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<JobLog> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<JobLog> list) {
     public int[] batchUpdate(List<JobLog> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<JobLog> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<JobLog> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<JobLog> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<JobLog> list) {
     public int[] batchDelete(List<JobLog> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<JobLog> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<JobLog> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<JobLog> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsKeyMatchBhv.java

@@ -227,27 +227,42 @@ public abstract class BsKeyMatchBhv extends EsAbstractBehavior<KeyMatch, KeyMatc
     }
     }
 
 
     public int[] batchInsert(List<KeyMatch> list) {
     public int[] batchInsert(List<KeyMatch> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<KeyMatch> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<KeyMatch> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<KeyMatch> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<KeyMatch> list) {
     public int[] batchUpdate(List<KeyMatch> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<KeyMatch> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<KeyMatch> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<KeyMatch> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<KeyMatch> list) {
     public int[] batchDelete(List<KeyMatch> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<KeyMatch> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<KeyMatch> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<KeyMatch> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsLabelToRoleBhv.java

@@ -221,27 +221,42 @@ public abstract class BsLabelToRoleBhv extends EsAbstractBehavior<LabelToRole, L
     }
     }
 
 
     public int[] batchInsert(List<LabelToRole> list) {
     public int[] batchInsert(List<LabelToRole> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<LabelToRole> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<LabelToRole> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<LabelToRole> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<LabelToRole> list) {
     public int[] batchUpdate(List<LabelToRole> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<LabelToRole> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<LabelToRole> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<LabelToRole> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<LabelToRole> list) {
     public int[] batchDelete(List<LabelToRole> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<LabelToRole> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<LabelToRole> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<LabelToRole> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsLabelTypeBhv.java

@@ -228,27 +228,42 @@ public abstract class BsLabelTypeBhv extends EsAbstractBehavior<LabelType, Label
     }
     }
 
 
     public int[] batchInsert(List<LabelType> list) {
     public int[] batchInsert(List<LabelType> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<LabelType> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<LabelType> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<LabelType> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<LabelType> list) {
     public int[] batchUpdate(List<LabelType> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<LabelType> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<LabelType> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<LabelType> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<LabelType> list) {
     public int[] batchDelete(List<LabelType> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<LabelType> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<LabelType> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<LabelType> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsPathMappingBhv.java

@@ -227,27 +227,42 @@ public abstract class BsPathMappingBhv extends EsAbstractBehavior<PathMapping, P
     }
     }
 
 
     public int[] batchInsert(List<PathMapping> list) {
     public int[] batchInsert(List<PathMapping> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<PathMapping> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<PathMapping> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<PathMapping> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<PathMapping> list) {
     public int[] batchUpdate(List<PathMapping> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<PathMapping> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<PathMapping> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<PathMapping> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<PathMapping> list) {
     public int[] batchDelete(List<PathMapping> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<PathMapping> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<PathMapping> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<PathMapping> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsRequestHeaderBhv.java

@@ -226,27 +226,42 @@ public abstract class BsRequestHeaderBhv extends EsAbstractBehavior<RequestHeade
     }
     }
 
 
     public int[] batchInsert(List<RequestHeader> list) {
     public int[] batchInsert(List<RequestHeader> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<RequestHeader> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<RequestHeader> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<RequestHeader> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<RequestHeader> list) {
     public int[] batchUpdate(List<RequestHeader> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<RequestHeader> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<RequestHeader> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<RequestHeader> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<RequestHeader> list) {
     public int[] batchDelete(List<RequestHeader> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<RequestHeader> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<RequestHeader> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<RequestHeader> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsRoleTypeBhv.java

@@ -226,27 +226,42 @@ public abstract class BsRoleTypeBhv extends EsAbstractBehavior<RoleType, RoleTyp
     }
     }
 
 
     public int[] batchInsert(List<RoleType> list) {
     public int[] batchInsert(List<RoleType> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<RoleType> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<RoleType> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<RoleType> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<RoleType> list) {
     public int[] batchUpdate(List<RoleType> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<RoleType> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<RoleType> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<RoleType> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<RoleType> list) {
     public int[] batchDelete(List<RoleType> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<RoleType> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<RoleType> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<RoleType> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsScheduledJobBhv.java

@@ -232,27 +232,42 @@ public abstract class BsScheduledJobBhv extends EsAbstractBehavior<ScheduledJob,
     }
     }
 
 
     public int[] batchInsert(List<ScheduledJob> list) {
     public int[] batchInsert(List<ScheduledJob> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<ScheduledJob> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<ScheduledJob> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<ScheduledJob> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<ScheduledJob> list) {
     public int[] batchUpdate(List<ScheduledJob> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<ScheduledJob> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<ScheduledJob> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<ScheduledJob> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<ScheduledJob> list) {
     public int[] batchDelete(List<ScheduledJob> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<ScheduledJob> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<ScheduledJob> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<ScheduledJob> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsWebAuthenticationBhv.java

@@ -232,27 +232,42 @@ public abstract class BsWebAuthenticationBhv extends EsAbstractBehavior<WebAuthe
     }
     }
 
 
     public int[] batchInsert(List<WebAuthentication> list) {
     public int[] batchInsert(List<WebAuthentication> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<WebAuthentication> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<WebAuthentication> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<WebAuthentication> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<WebAuthentication> list) {
     public int[] batchUpdate(List<WebAuthentication> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<WebAuthentication> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<WebAuthentication> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<WebAuthentication> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<WebAuthentication> list) {
     public int[] batchDelete(List<WebAuthentication> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<WebAuthentication> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<WebAuthentication> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<WebAuthentication> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsWebConfigBhv.java

@@ -239,27 +239,42 @@ public abstract class BsWebConfigBhv extends EsAbstractBehavior<WebConfig, WebCo
     }
     }
 
 
     public int[] batchInsert(List<WebConfig> list) {
     public int[] batchInsert(List<WebConfig> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<WebConfig> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<WebConfig> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<WebConfig> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<WebConfig> list) {
     public int[] batchUpdate(List<WebConfig> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<WebConfig> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<WebConfig> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<WebConfig> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<WebConfig> list) {
     public int[] batchDelete(List<WebConfig> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<WebConfig> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<WebConfig> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<WebConfig> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsWebConfigToLabelBhv.java

@@ -222,27 +222,42 @@ public abstract class BsWebConfigToLabelBhv extends EsAbstractBehavior<WebConfig
     }
     }
 
 
     public int[] batchInsert(List<WebConfigToLabel> list) {
     public int[] batchInsert(List<WebConfigToLabel> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<WebConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<WebConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<WebConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<WebConfigToLabel> list) {
     public int[] batchUpdate(List<WebConfigToLabel> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<WebConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<WebConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<WebConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<WebConfigToLabel> list) {
     public int[] batchDelete(List<WebConfigToLabel> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<WebConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<WebConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<WebConfigToLabel> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/config/bsbhv/BsWebConfigToRoleBhv.java

@@ -222,27 +222,42 @@ public abstract class BsWebConfigToRoleBhv extends EsAbstractBehavior<WebConfigT
     }
     }
 
 
     public int[] batchInsert(List<WebConfigToRole> list) {
     public int[] batchInsert(List<WebConfigToRole> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<WebConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<WebConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<WebConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<WebConfigToRole> list) {
     public int[] batchUpdate(List<WebConfigToRole> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<WebConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<WebConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<WebConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<WebConfigToRole> list) {
     public int[] batchDelete(List<WebConfigToRole> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<WebConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<WebConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<WebConfigToRole> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 3
src/main/java/org/codelibs/fess/es/log/allcommon/EsAbstractBehavior.java

@@ -361,16 +361,27 @@ public abstract class EsAbstractBehavior<ENTITY extends Entity, CB extends Condi
     }
     }
 
 
     protected <BUILDER> int[] delegateBatchRequest(final List<? extends Entity> entityList, Function<EsAbstractEntity, BUILDER> call) {
     protected <BUILDER> int[] delegateBatchRequest(final List<? extends Entity> entityList, Function<EsAbstractEntity, BUILDER> call) {
-        final BulkList<? extends Entity> bulkList = (BulkList<? extends Entity>) entityList;
+        @SuppressWarnings("unchecked")
+        final BulkList<? extends Entity, BUILDER> bulkList = (BulkList<? extends Entity, BUILDER>) entityList;
+        final RequestOptionCall<BUILDER> builderEntityCall = bulkList.getEntityCall();
         final BulkRequestBuilder bulkBuilder = client.prepareBulk();
         final BulkRequestBuilder bulkBuilder = client.prepareBulk();
         for (final Entity entity : entityList) {
         for (final Entity entity : entityList) {
             final EsAbstractEntity esEntity = (EsAbstractEntity) entity;
             final EsAbstractEntity esEntity = (EsAbstractEntity) entity;
             BUILDER builder = call.apply(esEntity);
             BUILDER builder = call.apply(esEntity);
             if (builder instanceof IndexRequestBuilder) {
             if (builder instanceof IndexRequestBuilder) {
+                if (builderEntityCall != null) {
+                    builderEntityCall.callback(builder);
+                }
                 bulkBuilder.add((IndexRequestBuilder) builder);
                 bulkBuilder.add((IndexRequestBuilder) builder);
             } else if (builder instanceof UpdateRequestBuilder) {
             } else if (builder instanceof UpdateRequestBuilder) {
+                if (builderEntityCall != null) {
+                    builderEntityCall.callback(builder);
+                }
                 bulkBuilder.add((UpdateRequestBuilder) builder);
                 bulkBuilder.add((UpdateRequestBuilder) builder);
             } else if (builder instanceof DeleteRequestBuilder) {
             } else if (builder instanceof DeleteRequestBuilder) {
+                if (builderEntityCall != null) {
+                    builderEntityCall.callback(builder);
+                }
                 bulkBuilder.add((DeleteRequestBuilder) builder);
                 bulkBuilder.add((DeleteRequestBuilder) builder);
             }
             }
         }
         }
@@ -424,14 +435,17 @@ public abstract class EsAbstractBehavior<ENTITY extends Entity, CB extends Condi
         return new String[] { str };
         return new String[] { str };
     }
     }
 
 
-    public static class BulkList<E> implements List<E> {
+    public static class BulkList<E, B> implements List<E> {
 
 
         private final List<E> parent;
         private final List<E> parent;
 
 
         private final RequestOptionCall<BulkRequestBuilder> call;
         private final RequestOptionCall<BulkRequestBuilder> call;
 
 
-        public BulkList(final List<E> parent, final RequestOptionCall<BulkRequestBuilder> call) {
+        private final RequestOptionCall<B> entityCall;
+
+        public BulkList(final List<E> parent, final RequestOptionCall<BulkRequestBuilder> call, final RequestOptionCall<B> entityCall) {
             this.parent = parent;
             this.parent = parent;
+            this.entityCall = entityCall;
             this.call = call;
             this.call = call;
         }
         }
 
 
@@ -538,5 +552,9 @@ public abstract class EsAbstractBehavior<ENTITY extends Entity, CB extends Condi
         public RequestOptionCall<BulkRequestBuilder> getCall() {
         public RequestOptionCall<BulkRequestBuilder> getCall() {
             return call;
             return call;
         }
         }
+
+        public RequestOptionCall<B> getEntityCall() {
+            return entityCall;
+        }
     }
     }
 }
 }

+ 21 - 6
src/main/java/org/codelibs/fess/es/log/bsbhv/BsClickLogBhv.java

@@ -226,27 +226,42 @@ public abstract class BsClickLogBhv extends EsAbstractBehavior<ClickLog, ClickLo
     }
     }
 
 
     public int[] batchInsert(List<ClickLog> list) {
     public int[] batchInsert(List<ClickLog> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<ClickLog> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<ClickLog> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<ClickLog> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<ClickLog> list) {
     public int[] batchUpdate(List<ClickLog> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<ClickLog> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<ClickLog> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<ClickLog> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<ClickLog> list) {
     public int[] batchDelete(List<ClickLog> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<ClickLog> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<ClickLog> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<ClickLog> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/log/bsbhv/BsEventLogBhv.java

@@ -224,27 +224,42 @@ public abstract class BsEventLogBhv extends EsAbstractBehavior<EventLog, EventLo
     }
     }
 
 
     public int[] batchInsert(List<EventLog> list) {
     public int[] batchInsert(List<EventLog> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<EventLog> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<EventLog> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<EventLog> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<EventLog> list) {
     public int[] batchUpdate(List<EventLog> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<EventLog> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<EventLog> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<EventLog> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<EventLog> list) {
     public int[] batchDelete(List<EventLog> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<EventLog> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<EventLog> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<EventLog> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/log/bsbhv/BsFavoriteLogBhv.java

@@ -224,27 +224,42 @@ public abstract class BsFavoriteLogBhv extends EsAbstractBehavior<FavoriteLog, F
     }
     }
 
 
     public int[] batchInsert(List<FavoriteLog> list) {
     public int[] batchInsert(List<FavoriteLog> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<FavoriteLog> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<FavoriteLog> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<FavoriteLog> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<FavoriteLog> list) {
     public int[] batchUpdate(List<FavoriteLog> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<FavoriteLog> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<FavoriteLog> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<FavoriteLog> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<FavoriteLog> list) {
     public int[] batchDelete(List<FavoriteLog> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<FavoriteLog> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<FavoriteLog> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<FavoriteLog> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/log/bsbhv/BsSearchFieldLogBhv.java

@@ -222,27 +222,42 @@ public abstract class BsSearchFieldLogBhv extends EsAbstractBehavior<SearchField
     }
     }
 
 
     public int[] batchInsert(List<SearchFieldLog> list) {
     public int[] batchInsert(List<SearchFieldLog> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<SearchFieldLog> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<SearchFieldLog> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<SearchFieldLog> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<SearchFieldLog> list) {
     public int[] batchUpdate(List<SearchFieldLog> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<SearchFieldLog> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<SearchFieldLog> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<SearchFieldLog> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<SearchFieldLog> list) {
     public int[] batchDelete(List<SearchFieldLog> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<SearchFieldLog> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<SearchFieldLog> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<SearchFieldLog> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/log/bsbhv/BsSearchLogBhv.java

@@ -235,27 +235,42 @@ public abstract class BsSearchLogBhv extends EsAbstractBehavior<SearchLog, Searc
     }
     }
 
 
     public int[] batchInsert(List<SearchLog> list) {
     public int[] batchInsert(List<SearchLog> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<SearchLog> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<SearchLog> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<SearchLog> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<SearchLog> list) {
     public int[] batchUpdate(List<SearchLog> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<SearchLog> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<SearchLog> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<SearchLog> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<SearchLog> list) {
     public int[] batchDelete(List<SearchLog> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<SearchLog> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<SearchLog> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<SearchLog> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 6
src/main/java/org/codelibs/fess/es/log/bsbhv/BsUserInfoBhv.java

@@ -221,27 +221,42 @@ public abstract class BsUserInfoBhv extends EsAbstractBehavior<UserInfo, UserInf
     }
     }
 
 
     public int[] batchInsert(List<UserInfo> list) {
     public int[] batchInsert(List<UserInfo> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<UserInfo> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<UserInfo> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<UserInfo> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<UserInfo> list) {
     public int[] batchUpdate(List<UserInfo> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<UserInfo> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<UserInfo> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<UserInfo> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<UserInfo> list) {
     public int[] batchDelete(List<UserInfo> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<UserInfo> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<UserInfo> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<UserInfo> list, RequestOptionCall<BulkRequestBuilder> call,
+            RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 21 - 3
src/main/java/org/codelibs/fess/es/user/allcommon/EsAbstractBehavior.java

@@ -361,16 +361,27 @@ public abstract class EsAbstractBehavior<ENTITY extends Entity, CB extends Condi
     }
     }
 
 
     protected <BUILDER> int[] delegateBatchRequest(final List<? extends Entity> entityList, Function<EsAbstractEntity, BUILDER> call) {
     protected <BUILDER> int[] delegateBatchRequest(final List<? extends Entity> entityList, Function<EsAbstractEntity, BUILDER> call) {
-        final BulkList<? extends Entity> bulkList = (BulkList<? extends Entity>) entityList;
+        @SuppressWarnings("unchecked")
+        final BulkList<? extends Entity, BUILDER> bulkList = (BulkList<? extends Entity, BUILDER>) entityList;
+        final RequestOptionCall<BUILDER> builderEntityCall = bulkList.getEntityCall();
         final BulkRequestBuilder bulkBuilder = client.prepareBulk();
         final BulkRequestBuilder bulkBuilder = client.prepareBulk();
         for (final Entity entity : entityList) {
         for (final Entity entity : entityList) {
             final EsAbstractEntity esEntity = (EsAbstractEntity) entity;
             final EsAbstractEntity esEntity = (EsAbstractEntity) entity;
             BUILDER builder = call.apply(esEntity);
             BUILDER builder = call.apply(esEntity);
             if (builder instanceof IndexRequestBuilder) {
             if (builder instanceof IndexRequestBuilder) {
+                if (builderEntityCall != null) {
+                    builderEntityCall.callback(builder);
+                }
                 bulkBuilder.add((IndexRequestBuilder) builder);
                 bulkBuilder.add((IndexRequestBuilder) builder);
             } else if (builder instanceof UpdateRequestBuilder) {
             } else if (builder instanceof UpdateRequestBuilder) {
+                if (builderEntityCall != null) {
+                    builderEntityCall.callback(builder);
+                }
                 bulkBuilder.add((UpdateRequestBuilder) builder);
                 bulkBuilder.add((UpdateRequestBuilder) builder);
             } else if (builder instanceof DeleteRequestBuilder) {
             } else if (builder instanceof DeleteRequestBuilder) {
+                if (builderEntityCall != null) {
+                    builderEntityCall.callback(builder);
+                }
                 bulkBuilder.add((DeleteRequestBuilder) builder);
                 bulkBuilder.add((DeleteRequestBuilder) builder);
             }
             }
         }
         }
@@ -424,14 +435,17 @@ public abstract class EsAbstractBehavior<ENTITY extends Entity, CB extends Condi
         return new String[] { str };
         return new String[] { str };
     }
     }
 
 
-    public static class BulkList<E> implements List<E> {
+    public static class BulkList<E, B> implements List<E> {
 
 
         private final List<E> parent;
         private final List<E> parent;
 
 
         private final RequestOptionCall<BulkRequestBuilder> call;
         private final RequestOptionCall<BulkRequestBuilder> call;
 
 
-        public BulkList(final List<E> parent, final RequestOptionCall<BulkRequestBuilder> call) {
+        private final RequestOptionCall<B> entityCall;
+
+        public BulkList(final List<E> parent, final RequestOptionCall<BulkRequestBuilder> call, final RequestOptionCall<B> entityCall) {
             this.parent = parent;
             this.parent = parent;
+            this.entityCall = entityCall;
             this.call = call;
             this.call = call;
         }
         }
 
 
@@ -538,5 +552,9 @@ public abstract class EsAbstractBehavior<ENTITY extends Entity, CB extends Condi
         public RequestOptionCall<BulkRequestBuilder> getCall() {
         public RequestOptionCall<BulkRequestBuilder> getCall() {
             return call;
             return call;
         }
         }
+
+        public RequestOptionCall<B> getEntityCall() {
+            return entityCall;
+        }
     }
     }
 }
 }

+ 18 - 6
src/main/java/org/codelibs/fess/es/user/bsbhv/BsGroupBhv.java

@@ -220,27 +220,39 @@ public abstract class BsGroupBhv extends EsAbstractBehavior<Group, GroupCB> {
     }
     }
 
 
     public int[] batchInsert(List<Group> list) {
     public int[] batchInsert(List<Group> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<Group> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<Group> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<Group> list, RequestOptionCall<BulkRequestBuilder> call, RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<Group> list) {
     public int[] batchUpdate(List<Group> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<Group> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<Group> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<Group> list, RequestOptionCall<BulkRequestBuilder> call, RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<Group> list) {
     public int[] batchDelete(List<Group> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<Group> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<Group> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<Group> list, RequestOptionCall<BulkRequestBuilder> call, RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 18 - 6
src/main/java/org/codelibs/fess/es/user/bsbhv/BsRoleBhv.java

@@ -220,27 +220,39 @@ public abstract class BsRoleBhv extends EsAbstractBehavior<Role, RoleCB> {
     }
     }
 
 
     public int[] batchInsert(List<Role> list) {
     public int[] batchInsert(List<Role> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<Role> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<Role> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<Role> list, RequestOptionCall<BulkRequestBuilder> call, RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<Role> list) {
     public int[] batchUpdate(List<Role> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<Role> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<Role> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<Role> list, RequestOptionCall<BulkRequestBuilder> call, RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<Role> list) {
     public int[] batchDelete(List<Role> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<Role> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<Role> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<Role> list, RequestOptionCall<BulkRequestBuilder> call, RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove

+ 18 - 6
src/main/java/org/codelibs/fess/es/user/bsbhv/BsUserBhv.java

@@ -223,27 +223,39 @@ public abstract class BsUserBhv extends EsAbstractBehavior<User, UserCB> {
     }
     }
 
 
     public int[] batchInsert(List<User> list) {
     public int[] batchInsert(List<User> list) {
-        return batchInsert(list, null);
+        return batchInsert(list, null, null);
     }
     }
 
 
     public int[] batchInsert(List<User> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchInsert(List<User> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchInsert(new BulkList<>(list, call), null);
+        return batchInsert(list, call, null);
+    }
+
+    public int[] batchInsert(List<User> list, RequestOptionCall<BulkRequestBuilder> call, RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchInsert(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchUpdate(List<User> list) {
     public int[] batchUpdate(List<User> list) {
-        return batchUpdate(list, null);
+        return batchUpdate(list, null, null);
     }
     }
 
 
     public int[] batchUpdate(List<User> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchUpdate(List<User> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchUpdate(new BulkList<>(list, call), null);
+        return batchUpdate(list, call, null);
+    }
+
+    public int[] batchUpdate(List<User> list, RequestOptionCall<BulkRequestBuilder> call, RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchUpdate(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     public int[] batchDelete(List<User> list) {
     public int[] batchDelete(List<User> list) {
-        return batchDelete(list, null);
+        return batchDelete(list, null, null);
     }
     }
 
 
     public int[] batchDelete(List<User> list, RequestOptionCall<BulkRequestBuilder> call) {
     public int[] batchDelete(List<User> list, RequestOptionCall<BulkRequestBuilder> call) {
-        return doBatchDelete(new BulkList<>(list, call), null);
+        return batchDelete(list, call, null);
+    }
+
+    public int[] batchDelete(List<User> list, RequestOptionCall<BulkRequestBuilder> call, RequestOptionCall<IndexRequestBuilder> entityCall) {
+        return doBatchDelete(new BulkList<>(list, call, entityCall), null);
     }
     }
 
 
     // #pending create, modify, remove
     // #pending create, modify, remove