springboot elasticsearch 集成
添加依赖spring-boot-starter-data-elasticsearch
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
spring-boot-starter-web是为测试使用。
添加es连接配置
spring:
elasticsearch:
rest:
uris: http://localhost:9200
username: elastic
password: 888888
然后可以直接使用RestHighLevelClient对象,spring已经生成对应bean实例。
建一个测试controller
@Resource
private RestHighLevelClient restHighLevelClient;
@RequestMapping("/get/{id}")
public @ResponseBody String get(@PathVariable("id") String id) throws IOException {
GetRequest request = new GetRequest("test",id);
GetResponse response = restHighLevelClient.get(request, RequestOptions.DEFAULT);
if(response.isExists()){
return JSON.toJSONString(response.getSourceAsMap());
}else{
return "not exists";
}
}
访问测试地址验证。
也可自定义client bean实例化方式。
@Configuration
public class RestClientConfig extends AbstractElasticsearchConfiguration {
@Override
@Bean
public RestHighLevelClient elasticsearchClient() {
RestClientBuilder builder = RestClient.builder(
new HttpHost("localhost",9200,"http"));
CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("elastic","888888"));
builder.setHttpClientConfigCallback(httpAsyncClientBuilder -> {
httpAsyncClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
return httpAsyncClientBuilder;
});
return new RestHighLevelClient(builder);
}
}
标签:
elasticsearch
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?