ElasticSearch Java APIs 详解
1. 批量操作(Bulk)
ElasticSearch 的批量 API 允许将多个索引、删除和更新请求打包在一个请求中,并分别分析这些请求的响应。示例代码如下:
BulkResponse response = client.prepareBulk() .add(client.prepareIndex("library", "book", "5") .setSource("{ \"title\" : \"Solr Cookbook\"}") .request()) .add(client.prepareDelete("library", "book", "2").request()) .execute().actionGet();上述请求会向library索引的book类型中添加一个标识符为 5 的文档,并删除标识符为 2 的文档。响应中可以通过getItems()方法获取一个org.elasticsearch.action.bulk.BulkItemResponse对象数组。需要遍历这个数组,使用isFailed()方法检查特定操作的状态(如果特定操作期间发生错误,该方法返回true),并使用getFailure()获取有关失败的额外信息。每个响应还包含getResponse()