6.分布式搜索elasticsearch java API -批量添加剔除索引
6.分布式搜索elasticsearch java API ------批量添加删除索引elasticsearch支持批量添加或删除索引文档,ja
6.分布式搜索elasticsearch java API ------批量添加删除索引
elasticsearch支持批量添加或删除索引文档,java api里面就是通过构造BulkRequestBuilder,然后把批量的index/delete请求添加到BulkRequestBuilder里面,执行BulkRequestBuilder。下面是个例子:
[java]?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