zoukankan      html  css  js  c++  java
  • elasticsearch笔记(6) 删除文档delete-by-query

    根据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 }
  • 相关阅读:
    Redis最佳实践:7个维度+43条使用规范,带你彻底玩转Redis | 附实践清单
    laravel生命周期
    日志写入
    商城表设计
    10个你不一定知道的PHP内置函数
    PHP函数详解:call_user_func()使用方法
    Dingo与JWT的使用
    商城-会员与用户的数据表设计
    MVVM模式
    vue面试题
  • 原文地址:https://www.cnblogs.com/dangdanghepingping/p/14415277.html
Copyright © 2011-2022 走看看