spring boot 项目中搭建 ElasticSearch 中间件 一 spring data 操作 es

作者:逍遥Sean
简介:一个主修Java的Web网站\游戏服务器后端开发者
主页:https://blog.csdn.net/Ureliable
觉得博主文章不错的话,可以三连支持一下~ 如有需要我的支持,请私信或评论留言!

本文是进行ElasticSearch 的环境准备和基础操作(使用postman),并且已经能够使用java api操作es之后,使用spring data组件框架进行ElasticSearch 操作的文章。
ElasticSearch 系列文章目的是使用ElasticSearch结合spring boot项目实现项目的搜索功能。
系列文章 :

spring boot 项目中搭建 ElasticSearch 中间件 一 postman 操作 es
spring boot 项目中搭建 ElasticSearch 中间件 二 java api 操作 es

1. 准备

首先要创建一个spring maven工程,一般使用idea直接创建spring boot start 工程

idea -> New Project -> Spring Initializr

2. 环境

2.1. elasticsearch准备

本文使用 elasticsearch-7.10.0
不同的jdk版本要使用适配的es版本
最新es与jdk适配图

elasticsearch-7.10.0-windows-x86_64\elasticsearch-7.10.0\bin

下载后在bin中点击 elasticsearch.bat 启动es
默认端口是9200

2.2. 测试环境

导入以下依赖:

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter</artifactId>
 </dependency>
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-test</artifactId>
 </dependency>
 <dependency>
     <groupId>org.junit.jupiter</groupId>
     <artifactId>junit-jupiter</artifactId>
     <version>5.6.3</version>
 </dependency>
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
 </dependency>

写一个简单的实体类,用于与es结构对应

public class Event {
    private Long id;
    private String name;
    private String type;
    private String place;
    private String phone;
    private String mail;
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public String getPlace() {
        return place;
    }
    public void setPlace(String place) {
        this.place = place;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
    public String getMail() {
        return mail;
    }
    public void setMail(String mail) {
        this.mail = mail;
    }
    @Override
    public String toString() {
        return "Event{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", type='" + type + '\'' +
                ", place='" + place + '\'' +
                ", phone='" + phone + '\'' +
                ", mail='" + mail + '\'' +
                '}';
    }
}

写一个dao接口
注:@Repository表示该类是一个数据操作类
注:继承的es存储类,会实现es数据操作的默认方法

@Repository
public interface EventDao extends ElasticsearchRepository<Event, Long> {

}

写一个测试类

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

    @Autowired
    private ElasticsearchRestTemplate elasticsearchRestTemplate;

    @Test
    public void createIndex() {
        MyLog.logger.info("创建索引");
    }

    @Test
    public void deleteIndex() {
        boolean deleteIndex = elasticsearchRestTemplate.deleteIndex(Event.class);
        MyLog.logger.info("删除索引 " + deleteIndex);
    }
}

以上已经完成了es索引的创建和删除

spring data提供了比较简单的操作框架,几乎不再使用java api,本文后续更新详细索引和文档操作
未完待续…

3. 操作索引

3.1 创建索引

3.2 查看索引

3.3 删除索引

4. java操作文档

4.1 添加文档

4.2 查询文档

4.3 查询全部文档

4.4 更新文档

4.5 删除文档

4.6 批量插入文档


4.7 批量删除文档
  

4.8 条件查询文档

4.9 组合查询文档


4.10 模糊查询文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值