SpringBoot整合ES

本文介绍了如何在SpringBoot中整合Elasticsearch的高級REST客户端。首先,需要添加依赖并确保版本与ES服务器匹配,然后配置EsConfig,并启用注册发现。接着,利用RequestOptions设置安全访问规则,如添加Header。同步和异步执行API分别用于不同场景,测试代码展示了如何使用IndexRequest保存数据到ES。
摘要由CSDN通过智能技术生成

1:SpringBoot整合hign-level-client

我们接下来用java操作es
检索场景:
检索条件的时候,就要给es发送请求,检索出真正的商品,展示到界面中,这个请求应该由一段java程序来接受,并且发给es来处理,处理的结果在返回给前端界面,对于java来操作es有如下两种方式
在这里插入图片描述
在这里插入图片描述
https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/java-rest-high.html
es的官方文档介绍

  • Java高级REST客户端在Java低级REST客户端之上工作。它的主要目标是公开API特定的方法,这些方法接受请求对象作为参数并返回响应对象,因此请求编组和响应反编组由客户机本身处理。
  • 每个API都可以同步或异步调用。同步方法返回一个响应对象,而名称以async后缀结尾的异步方法需要一个侦听器参数,在接收到响应或错误时,该侦听器参数将被通知(在低层客户端管理的线程池中)。
  • Java高级REST客户端依赖于Elasticsearch核心项目。它接受与TransportClient相同的请求参数,并返回相同的响应对象。

SpringBoot整合hign-level-client
第一步:新建一个mall-search,并且导入elasticsearch-rest-high-level-client依赖

<dependency>
			<groupId>org.elasticsearch.client</groupId>
			<artifactId>elasticsearch-rest-high-level-client</artifactId>
			<version>7.4.2</version>
		</dependency>

虚拟机中es的版本7.4.2一定要和后端中springboot管理的es版本一致,统一用7.4.2
jar包冲突解决办法
第二步:对es进行配置,EsConfig

  • 高级客户端将在内部创建用于根据所提供的构建器执行请求的低级客户端。这个低级客户端维护一个连接池并启动一些线程,因此您应该在正确地使用高级客户端时关闭它,它将依次关闭内部低级客户端以释放这些资源。这可以通过结束:
@Configuration
public class MallESConfig {
   

    @Bean
    public RestHighLevelClient esRestClient(){
   
//        RestHighLevelClient client = new RestHighLevelClient(
//                RestClient.builder(
//                        new HttpHost("localhost", 9200, "http"),
//                        new HttpHost("localhost", 9201, "http")));
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值