前话 
注意,还是要对es 进行连接注入,否则后续会报错
java@Bean public RestHighLevelClient client(){ return new RestHighLevelClient( RestClient.builder( new HttpHost(host, port, scheme))); }
我们之前练习了原生es api 去操作我们的es 进行增删改查
但是很多都很麻烦,代码量很大
因此,我们使用这个spring boot 的一个项目
xml
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>包含了我们常用的api 简化了我们的开发
这里我们还是使用 7.6.2 版本的es api 为了避免很多api 不相同
在 properties 里面全局声明 版本 这个名称是可以看spring-boot-starter-parent 里面得到的
xml
<properties>
    <java.version>1.8</java.version>
    <elasticsearch.version>7.6.2</elasticsearch.version>
</properties>这里有2种实现方式
一种是JPA 方式还有种是 用spring 提供的 ElasticsearchRestTemplate
jpa 方式的话,.就像mybatis 一样提供一个接口
然后接口去继承ElasticsearchRepository<User,String>
第一个泛型是 操作的类,第二个是 主键的类似
然后剩下的就是调用方法,但是这种扩展方法较为麻烦,因此,不使用这种
还是选择使用
ElasticsearchRestTemplate模式
准备实体类
java
@Data
@Document(indexName = "user1") // 索引名称
public class User {
    @Id
    private String id;
    @Field(analyzer = "ik_max_word",type = FieldType.Text)
    private String name;
    @Field(type = FieldType.Integer)
    private Integer age;
    @Field(type = FieldType.Keyword)
    private String email;
    @Field(type = FieldType.Keyword)
    private String address;
    @Field(type = FieldType.Keyword)
    private String birthday;
}基本操作 
创建索引 
java
@Autowired
private ElasticsearchRestTemplate restTemplate;
/**
* 创建索引
*/
@Test
void creatIndex(){
    List<User> users = new LinkedList<>();
    for (int i = 0; i < 10; i++) {
        User user = new User();
        user.setId("id:"+i)
            .setAddress("address:"+i)
            .setAge(i)
            .setEmail("email:"+i)
            .setBirthday("birthday:"+i);
        users.add(user);
    }
    restTemplate.save(users);
}