SpringBoot整合ElasticSearch(elasticsearch-rest-high-level-client)

一、引入maven坐标

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

二、指定版本

 <properties>
        <elasticsearch.version>7.4.2</elasticsearch.version>
    </properties>

有人会说引坐标的时候不是已经指定了吗,但是我们可以通过dependencies看到版本号为6.8.6

因为springboot提供的默认版本号就是这个所以需要我们手动修改

三、编写配置类

让spring帮我们创建对象

import org.apache.http.HttpHost;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.con
### Elasticsearch - Rest - High - Level - Client Elasticsearch是开源可扩展的全文检索和分析引擎,用于实时存储、搜索、分析海量信息。Elasticsearch Rest High - Level Client是其官方提供的客户端,提供特定方法API并对请求和响应封装,使用起来较为方便 [^1]。 #### 使用方法 在Spring Boot工程中使用,首先需要添加依赖: ```xml <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>7.5.1</version> </dependency> <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-client</artifactId> <version>7.5.1</version> </dependency> <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> <version>7.5.1</version> <scope>compile</scope> </dependency> ``` 配置客户端示例: ```java import org.apache.http.HttpHost; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestHighLevelClient; public class ElasticsearchClientConfig { public static RestHighLevelClient getClient() { return new RestHighLevelClient( RestClient.builder( new HttpHost("localhost", 9200, "http"))); } } ``` ### Elasticsearch - Spark Elasticsearch - Spark 是用于将 Elasticsearch 和 Apache Spark 集成的库,它允许用户在 Spark 应用程序中方便地与 Elasticsearch 进行交互。 #### 使用方法 在 Spark 应用中使用 Elasticsearch - Spark,需要添加相应依赖。以 Maven 为例: ```xml <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch-spark-30_2.12</artifactId> <version>7.17.3</version> </dependency> ``` 读取 Elasticsearch 数据到 Spark 的示例代码: ```scala import org.apache.spark.sql.SparkSession val spark = SparkSession.builder() .appName("ElasticsearchToSpark") .master("local[*]") .config("es.nodes", "localhost") .config("es.port", "9200") .getOrCreate() val df = spark.read .format("org.elasticsearch.spark.sql") .load("your_index_name") ``` #### 集成方式 将 Elasticsearch - Rest - High - Level - ClientElasticsearch - Spark 集成时,可以在 Spark 应用中使用 Rest High - Level - Client 进行一些特定的 Elasticsearch 操作。例如,在 Spark 作业中使用 Rest High - Level - ClientElasticsearch 写入数据: ```scala import org.apache.http.HttpHost import org.elasticsearch.client.RestClient import org.elasticsearch.client.RestHighLevelClient import org.apache.spark.sql.SparkSession val spark = SparkSession.builder() .appName("IntegrateElasticsearch") .master("local[*]") .getOrCreate() val client = new RestHighLevelClient( RestClient.builder( new HttpHost("localhost", 9200, "http"))) // 可以在这里使用 client 进行 Elasticsearch 操作,如索引数据等 ``` ### 最佳实践 - 在使用 Elasticsearch - Rest - High - Level - Client 时,注意处理连接异常和资源释放,避免资源泄漏。 - 使用 Elasticsearch - Spark 时,合理设置批量操作的大小,以提高性能。同时,根据数据量和集群情况,调整 Spark 的并行度。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值