我正在尝试通过JEST运行批量请求,并且想要一次添加一个数据(比如说#34; bill"),然后一次执行所有数据,但是当我在10上运行以下代码时账单只是最后一个账单正在执行,有人可以更正此代码执行所有10个账单(通过在for循环外执行,即使用批量请求)?
for(JSONObject bill : bills) {
bulkRequest = new Bulk.Builder()
.addAction(new Index.Builder(bill.toString()).index(index).type(type).id(id).build())
.build();
}
bulkResponse = Client.execute(bulkRequest);
答案 0 :(得分:4)
您需要在循环中构建批量生成器,然后使用它来添加所有帐单:
if (count($request->all())) {
// foreach here.
}
答案 1 :(得分:0)
我知道这是一个老问题,但万一有人偶然发现这一点,这是一种java 8 /(lambdas)做同样事情的方式。
Client.execute( new Bulk.Builder()
.addAction(
bills.stream()
.map(bill ->
new Index.Builder(bill.toString()
)
.index(index).type(type).id(id).build())
.collect(Collectors.toList())
).build());