farmer111 发表于 2017-5-21 09:48:53

6.分布式搜索elasticsearch java API ------批量添加删除索引

elasticsearch支持批量添加或删除索引文档,java api里面就是通过构造BulkRequestBuilder,然后把批量的index/delete请求添加到BulkRequestBuilder里面,执行BulkRequestBuilder。下面是个例子:
 view plaincopy



[*]import static org.elasticsearch.common.xcontent.XContentFactory.*;   
[*]           
[*]        BulkRequestBuilder bulkRequest = client.prepareBulk();   
[*]           
[*]        bulkRequest.add(client.prepareIndex("twitter", "tweet", "1")   
[*]                .setSource(jsonBuilder()   
[*]                            .startObject()   
[*]                                .field("user", "kimchy")   
[*]                                .field("postDate", new Date())   
[*]                                .field("message", "trying out Elastic Search")   
[*]                            .endObject()   
[*]                          )   
[*]                );   
[*]           
[*]        bulkRequest.add(client.prepareIndex("twitter", "tweet", "2")   
[*]                .setSource(jsonBuilder()   
[*]                            .startObject()   
[*]                                .field("user", "kimchy")   
[*]                                .field("postDate", new Date())   
[*]                                .field("message", "another post")   
[*]                            .endObject()   
[*]                          )   
[*]                );   
[*]                   
[*]        BulkResponse bulkResponse = bulkRequest.execute().actionGet();   
[*]        if (bulkResponse.hasFailures()) {   
[*]            //处理错误   
[*]        }  

参考资料:http://www.elasticsearch.org/guide/reference/java-api/bulk.html
页: [1]
查看完整版本: 6.分布式搜索elasticsearch java API ------批量添加删除索引