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
			}
			
		});
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章