直接上代码:
public void testBulkIndex() throws Exception {
NodeBuilder builder = NodeBuilder.nodeBuilder();
String clusterName = PropertyManager.getContextProperty("cluster.name");
builder.clusterName(clusterName);
Node node = builder.node();
Client client = node.client();
ObjectMapper mapper = new ObjectMapper();
List<Person> persons = new ArrayList<Person>();
List<IndexRequest> requests = new ArrayList<IndexRequest>();
for (int i = 0; i < 10; i++) {
Person person = new Person();
person.setAge(20 + i);
person.setId(UUID.randomUUID().toString());
person.setIsStudent(true);
person.setName("张三" + i);
person.setSex("男");
persons.add(person);
String index = "user"; // 相当于数据库名
String type = "tb_person"; // 相当于表名
String json = mapper.writeValueAsString(person);
IndexRequest request = client
.prepareIndex(index, type, person.getId()).setSource(json)
.request();
requests.add(request);
}
BulkRequestBuilder bulkRequest = client.prepareBulk();
for (IndexRequest request : requests) {
bulkRequest.add(request);
}
BulkResponse bulkResponse = bulkRequest.execute().actionGet();
if (bulkResponse.hasFailures()) {
Assert.fail("批量创建索引错误!");
}
}