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

spring data 操作 es

      • 1. 准备
      • 2. 环境
        • 2.1. elasticsearch准备
        • 2.2. 测试环境
      • 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 模糊查询文档

本文是进行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.bootgroupId>
     <artifactId>spring-boot-starterartifactId>
 dependency>
 <dependency>
     <groupId>org.springframework.bootgroupId>
     <artifactId>spring-boot-starter-testartifactId>
 dependency>
 <dependency>
     <groupId>org.junit.jupitergroupId>
     <artifactId>junit-jupiterartifactId>
     <version>5.6.3version>
 dependency>
 <dependency>
     <groupId>org.springframework.bootgroupId>
     <artifactId>spring-boot-starter-data-elasticsearchartifactId>
 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 模糊查询文档


你可能感兴趣的:(中间件,spring,spring,boot,elasticsearch)