根據term, match等查詢方式去刪除大量的文檔.
ps:如果是大量的刪除,不推薦這個方式,太耗時了,因為是根據查詢的id一個一個刪除,而查詢本身也很消耗性能,推薦新建一個index,把保留的部分保留到新的index

在java中用索引刪除
1 @Test 2 public void deletByQueryTest() throws IOException { 3 //創建DeleteByQueryRequest對象 4 String index = "sms-logs-index"; 5 String type = "sms-logs-type"; 6 DeleteByQueryRequest deleteByQueryRequest = new DeleteByQueryRequest(index); 7 deleteByQueryRequest.types(type); 8 //指定刪除條件 9 RangeQueryBuilder fee = QueryBuilders.rangeQuery("fee").lt(20).gt(10); 10 deleteByQueryRequest.setQuery(fee); 11 //創建查詢對象 12 HttpHost httpHost = new HttpHost("192.168.43.30", 9200); 13 RestClientBuilder restClientBuilder = RestClient.builder(httpHost); 14 RestHighLevelClient restHighLevelClient = new RestHighLevelClient(restClientBuilder); 15 //執行刪除 16 BulkByScrollResponse bulkByScrollResponse = restHighLevelClient.deleteByQuery(deleteByQueryRequest, RequestOptions.DEFAULT); 17 System.out.println(bulkByScrollResponse); 18 19 }
