ElasticSearch6.X版本Java Api中文详解(三)之Get Api、Delete API 、Delete By Query API解析

  1. Get 
  2. Delete
  3. Delete By Query

Get Api

get API允许根据它的id从索引中获得一个类型化的JSON文档,下面的例子从一个名为twitter的索引中获得一个JSON文档,在一个名为tweet的类型下,id值为1:

GetResponse response = client.prepareGet("twitter", "tweet", "1").get();

Delete Api

delete API允许一个人根据其id从特定的索引中删除一个类型化的JSON文档,下面的例子从一个名为twitter的索引中删除了JSON文档,在一个名为tweet的类型下,id值为1:

DeleteResponse response = client.prepareDelete("twitter", "tweet", "1").get();

Delete By Query

查询API的delete允许根据查询的结果删除给定的一组文档:

BulkByScrollResponse response = DeleteByQueryAction.INSTANCE.newRequestBuilder(client)
    .filter(QueryBuilders.matchQuery("gender", "male")) 
    .source("persons")                                  
    .get();                                             
long deleted = response.getDeleted();  

因为它可以是一个长时间运行的操作,如果您希望异步地完成它,您可以调用execute而不是get并提供一个侦听器:

DeleteByQueryAction.INSTANCE.newRequestBuilder(client)
    .filter(QueryBuilders.matchQuery("gender", "male"))     
    .source("persons")                                      
    .execute(new ActionListener<BulkByScrollResponse>() {   
        @Override
        public void onResponse(BulkByScrollResponse response) {
            long deleted = response.getDeleted();           
        }
        @Override
        public void onFailure(Exception e) {
            // Handle the exception
        }
    });

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值