學習記錄。
直接上執行語句:
DELETE /mytest/test/_query{"query": {"match_all": {}}}
注:1、mytest為index,test為type
2、有朋友會問為什么執行了代碼但是并沒有刪除?
原因是因為要依據es在2.0 以上的不支持批量刪除數據了,必須按照插件才能高效的批量刪除。這個插件就是 delete-by-query
安裝方法就是cmd到es的bin目錄下運行這個代碼 plugin install delete-by-query。網絡好點應該是沒問題的。
安裝好之后重啟es,然后再測試就可以了啦!同樣java api 也就可以通過以下方法進行批量刪除了
StringBuilder b = new StringBuilder(); b.append("{/"query/":{/"match_all/":{}}}"); DeleteByQueryRequestBuilder response = new DeleteByQueryRequestBuilder(client,DeleteByQueryAction.INSTANCE); response.setIndices(index).setTypes(type).setSource(b.toString()) .execute() .actionGet();
新聞熱點
疑難解答