1. 程式人生 > >分散式搜尋elasticsearch java API 之(六)------批量新增刪除索引

分散式搜尋elasticsearch java API 之(六)------批量新增刪除索引

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()) { 
		    //處理錯誤 
		}