当前位置:   article > 正文

spring中按照莫属性值批量删除Elasticsearch索引中的文档_spring boot 整合elasticsearch 7.16 批量删除

spring boot 整合elasticsearch 7.16 批量删除

spring中按照莫属性值批量删除Elasticsearch中的文档

介绍:
Elasticsearch整合springboot项目后,可以从java代码中创建索引,创建文档
也可以删除文档.
进行按照某一属性值批量删除文档:

演示,根据商品spuId删除对应的库存
在这里插入图片描述
演示删除这两条文档

索引在java中是有映射类的,在创建索引的时候就写好了,例如SkuInfo
在这里插入图片描述
编写dao层,在dao接口中自定义一个查询方法,方法只要按照es接口的规范书写,会自动生成实现.

public interface ESdao extends ElasticsearchRepository<SkuInfo,Long> {
    /**
     * 自定义查询方法,从索引库查询文档,按照spuid属性查找
     * @param spuId 商品id
     * @return
     */
    List<SkuInfo> querySkuInfoBySpuId(String spuId);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

方法调用:
先查询出集合,遍历集合,使用dao自带的delete方法删除
也可以使用deleteAll方法删除,我使用了λ表达式

 @Autowired
    private ESdao eSdao;
  @Override
    public void deleteDataToEs(String spuId) {
        List<SkuInfo> skuInfos = eSdao.querySkuInfoBySpuId(spuId);
        /*for (SkuInfo skuInfo : skuInfos) {
            eSdao.delete(skuInfo);
        }
        eSdao.deleteAll(new Iterable<SkuInfo>() {
            @Override
            public Iterator<SkuInfo> iterator() {
                return skuInfos.iterator();
            }
        });*/
        eSdao.deleteAll(()->skuInfos.iterator());
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

测试运行
在这里插入图片描述已经查询不到了,成功从索引库中删除了这两条数据
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/68825
推荐阅读
相关标签
  

闽ICP备14008679号