首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >SpringDataElasticsearch操作Elasticsearch关于索引数据CRUD

SpringDataElasticsearch操作Elasticsearch关于索引数据CRUD

作者头像
用户9006224
发布2022-12-21 09:15:42
发布2022-12-21 09:15:42
3650
举报
文章被收录于专栏:cjz的专栏cjz的专栏

准备工作

对应 文章 里操作,导包,实体类的

索引数据CRUD

SpringDataElasticsearch的索引数据CRUD并没有封装在ElasticsearchTemplate中,而是有一个叫做ElasticsearchRepository的接口,要继承ElasticsearchRespository

接口

代码语言:javascript
复制
import com.itcsdn.pojo.Esneo;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
//ElasticsearchRepository<对应类的类名,对应类的id类型>
public interface GoodsRepository extends ElasticsearchRepository<Esneo,Long> {

}

测试的代码CRUD

代码语言:javascript
复制
import com.itcsdn.es.GoodsRepository;
import com.itcsdn.pojo.Esneo;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.elasticsearch.core.ElasticsearchTemplate;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.ArrayList;
import java.util.List;
import java.util.Optional;

@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringElasticsearchCrud {

    @Autowired //注入刚才创建的接口
    private GoodsRepository goodsRepository;


    /**
     * 创建索引数据
     */
    @Test
    public void addDocument(){
        //构建数据
        Esneo seds = new Esneo(1L, "小米手机9", " 手机","小米", 3499.00, "http://image.itcsdn.com/13123.jpg");
        //创建索引数据
        goodsRepository.save(seds);
    }

    /**
     * 批量创建索引数据
     */
    @Test
    public void addDocuments(){
        //构建数据
        List<Esneo> arrayList = new ArrayList<>();
        arrayList.add(new Esneo(1L, "小米手机7", "手机", "小米", 3299.00, "/13123.jpg"));
        arrayList.add(new Esneo(2L, "坚果手机R1", "手机", "锤子", 3699.00, "/13123.jpg"));
        arrayList.add(new Esneo(3L, "华为META10", "手机", "华为", 4499.00, "/13123.jpg"));
        arrayList.add(new Esneo(4L, "小米Mix2S", "手机", "小米", 4299.00, "/13123.jpg"));
        arrayList.add(new Esneo(5L, "荣耀V10", "手机", "华为", 2799.00, "/13123.jpg"));

        //批量创建索引数据
        goodsRepository.saveAll(arrayList);
    }
    /**
     * 删除索引数据(全部数据)
     */
    @Test
    public void delectDocumentAll(){
        //删除索引数据(全部数据)
        goodsRepository.deleteAll();
    }

    /**
     * 根据id删除索引数据
     */
    @Test
    public void delectDocumentById(){
        //根据id删除索引数据
        goodsRepository.deleteById(1L);
    }

    /**
     * 查询索引数据
     */
    @Test
    public void findAll(){
        //查询索引数据
        Iterable<Esneo> all = goodsRepository.findAll();
        //打印结果
        all.forEach(System.out::println);
    }

    /**
     * 根据ID查询索引数据
     */
    @Test
    public void findAllById(){
        //根据ID查询索引数据
        Optional<Esneo> jg = goodsRepository.findById(2L);
        //打印结果
        System.out.println("结果:"+jg);
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-11-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备工作
  • 索引数据CRUD
  • 接口
  • 测试的代码CRUD
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档