趁着有時間繼續來分享並記錄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
}
});
}
}