@Autowired
private ElasticsearchTemplate es;
private void dealData2Map4Save(List<POJO> ls) {
Consumer<BulkRequestBuilder> consumer = bulkRequestBuilder -> {
ls.stream().forEach(detail -> {
Map<String,Object> map = new HashMap<>();
map.put("id",detail.getEbId());
map.put("parent_id",detail.getEbParentId());
map.put("param",detail.getRequestPar());
map.put("uniq_id",detail.getBrowserUniqId());
map.put("user_pin",detail.getUserLogAcct());
map.put("create_time", DateFormatUtils.format(detail.getCreateTime()));
map.put("update_time",DateFormatUtils.format(detail.getUpdateTime()));
bulkRequestBuilder.add(
es.getClient().prepareIndex(INDEX, TYPE).setSource(map));
});
};
BulkRequestBuilder bulkRequestBuilder = es.getClient().prepareBulk();
consumer.accept(bulkRequestBuilder);
BulkResponse bulkResponse = bulkRequestBuilder.execute().actionGet();
if (bulkResponse.hasFailures()) {
throw new RuntimeException(bulkResponse.buildFailureMessage());
}
}