1:学习第一步查找官方文档:
客户端
下面其他版本是 ES 支持的其他语言
点击进去找到对应依赖
初始化 需要连接ES ,使用完 要关闭
配置项目:
问题:
一定要保证 我们导入的依赖和我们的ES 中间件 版本一致
我们可以发现 es版本的 6.8.7的 是不对的 所以我们要
自定义依赖版本
点击 ctrl 进去可以查看 底层 ES 的<ES的版本标签> 版本
有时候点击不进去 底层 ,这个就要看看是需要什么插件配置了 还是咋地
自定义pom对应 的 ES 版本 依赖
pom里面版本的格式 需要是 下面这种的:
之前我原来的 格式 就是 boot版本 是在properties里面的 , 我自己手写在parent 标签里面 才正常下载 7.6.1
修改版本成功:
创建 ES初始连接
package com.luoapi.config;
import org.apache.http.HttpHost;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestClientBuilder;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
//使用二步骤:
//1:找对象
//2:放到spring中 待用
@Configuration
public class ElasticsearchConfig {
// spring 有个beans文件 <beans id="restHighLevelClient" class="RestHighLevelClient">
// 这里id 是获取这个方法注入 然后class 读到 拿取返回值
@Bean
public RestHighLevelClient restHighLevelClient(){
RestHighLevelClient client=new RestHighLevelClient(
RestClient.builder(
// 集群就构件多个 不是集群就不需要了
new HttpHost("127.0.0.1",9200,"http")));
// new HttpHost("localhost",9201,"http")));
return client;
}
}
@Qualifier 注解的用法 就是当其他类调用 @Configuration注入的bean的时候 需要和 他的bean里面的 方法名称一样, 否则就使用 @Qualifier 指明 对应bean的方法名称 这样才能找到;
使用 @Autowired 就必须名称跟 对应bean的 方法名称 对应就ok了
ES源码提供的对象:
前提必须开启本地 的 ES,
创建索引成功:
返回了对象值:
获取索引 判斷 索引是否存在
删除索引 请求
测试添加文档 我们这里创建了一个实体类
里面的timeout 是超时设置