/** * 异步批量删除 * * @param indexName * @param typeName * @param ids * @return isSucceeded * @throws IOException */ public boolean delete(String indexName, String typeName, Set<Object> ids) throws IOException { JestClient jestClient = getJestClient(); final AtomicBoolean isSucceeded = new AtomicBoolean(); int count = 0; Bulk.Builder bulk = new Bulk.Builder().defaultIndex(indexName).defaultType(typeName); for (Object id : ids) { if (count > batch) { jestClient.executeAsync(bulk.build(), new JestResultHandler<BulkResult>() { @Override public void completed(BulkResult result) { synchronized (isSucceeded) { isSucceeded.set(result.isSucceeded()); } } @Override public void failed(Exception ex) { ex.printStackTrace(); } }); count = 0; bulk = new Bulk.Builder().defaultIndex(indexName).defaultType(typeName); } Delete dr = new Delete.Builder((String) id).build(); bulk.addAction(dr); count++; } if (count != 0) { jestClient.executeAsync(bulk.build(), new JestResultHandler<BulkResult>() { @Override public void completed(BulkResult result) { synchronized (isSucceeded) { isSucceeded.set(result.isSucceeded()); } } @Override public void failed(Exception ex) { ex.printStackTrace(); } }); } jestClient.shutdownClient(); return isSucceeded.get(); }
Jest 异步根据文档ID进行批量删除
猜你喜欢
转载自blog.csdn.net/dpnice/article/details/79793360
今日推荐
周排行