趁着有时间继续来分享并记录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
}
});
}
}