Java之ES之刪除操作

趁着有時間繼續來分享並記錄ES相關:

對ES的操作如下:
1)通過id刪除文檔
2)通過查詢刪除文檔
3)向刪除操作添加監聽
具體實現如下所示:

public class ElasticSearchUtils {
	//通過id查詢document
	public void getDocumentById(TransportClient client) {
		//索引 類型 ID
		GetResponse response = client.prepareGet("twitter", "_doc", "1").get();
	}
	
	//通過id刪除document
	public void deleteDocumentById(TransportClient client) {
		DeleteResponse response = client.prepareDelete("twitter", "_doc", "1").get();
	}
	
	//刪除查詢數據
	public void deleteByQuery(TransportClient client) {
		BulkByScrollResponse response = DeleteByQueryAction.INSTANCE
				.newRequestBuilder(client)
				.filter(QueryBuilders.matchQuery("gender", "male"))
				.source("persons")
				.get();
		long deleted = response.getDeleted();
	}
	
	//對刪除操作添加監聽
	public void DeleteByQueryWithListener(TransportClient client) {
		DeleteByQueryAction.INSTANCE.newRequestBuilder(client)
		.filter(QueryBuilders.matchQuery("gender", "male"))
		.source("persons")
		.execute(new ActionListener<BulkByScrollResponse>(){

			public void onFailure(Exception exception) {
				//失敗處理
			}

			public void onResponse(BulkByScrollResponse response) {
				long deleted = response.getDeleted();
				//process
			}
			
		});
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章