elasticsearch支援大量新增或刪除索引文檔,java api裡面就是通過構造BulkRequestBuilder,然後把批量的index/delete請求添加到BulkRequestBuilder裡面,執行BulkRequestBuilder。下面是個例子:
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://blog.csdn.net/laigood12345/article/details/7460544
刪除索引操作參考:http://blog.csdn.net/laigood12345/article/details/7460602
參考資料:http://www.elasticsearch.org/guide/reference/java-api/bulk.html
本文地址:http://blog.csdn.net/laigood12345/article/details/7606079