国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring Boot整合ES的兩種方式

這篇具有很好參考價(jià)值的文章主要介紹了Spring Boot整合ES的兩種方式。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Spring Boot整合ES的兩種方式,分布式云部署,搜索引擎,SpringBoot,spring boot,elasticsearch,jenkins

使用Spring Data Elasticsearch Starter

在Spring Boot中整合Elasticsearch的方式之一是使用Elasticsearch的官方Spring Data Elasticsearch Starter。該Starter提供了對(duì)Elasticsearch的高級(jí)集成,簡(jiǎn)化了配置和管理Elasticsearch客戶(hù)端。
Spring Boot整合ES的兩種方式,分布式云部署,搜索引擎,SpringBoot,spring boot,elasticsearch,jenkins

下面是使用Spring Data Elasticsearch Starter的詳細(xì)介紹以及如何管理客戶(hù)端對(duì)象的初始化和關(guān)閉操作:

  1. 添加依賴(lài)坐標(biāo):

在項(xiàng)目的依賴(lài)管理文件(pom.xml或build.gradle)中添加Spring Data Elasticsearch Starter的依賴(lài)。以下是Maven的示例配置:

Maven:

<!-- Spring Data Elasticsearch Starter -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
  1. 配置Elasticsearch連接參數(shù):

在application.properties或application.yml中配置Elasticsearch的連接參數(shù),例如:

application.properties:

spring.data.elasticsearch.cluster-nodes=localhost:9200

application.yml:

spring:
  data:
    elasticsearch:
      cluster-nodes: localhost:9200
  1. 初始化和關(guān)閉客戶(hù)端對(duì)象:

Spring Boot會(huì)自動(dòng)根據(jù)配置文件中的參數(shù)來(lái)初始化Elasticsearch客戶(hù)端對(duì)象。您可以直接注入RestHighLevelClient來(lái)使用它,Spring會(huì)負(fù)責(zé)管理客戶(hù)端的初始化和關(guān)閉。

import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.stereotype.Service;

@Service
public class MyElasticsearchService {

    private final RestHighLevelClient elasticsearchClient;

    public MyElasticsearchService(RestHighLevelClient elasticsearchClient) {
        this.elasticsearchClient = elasticsearchClient;
    }

    // 其他業(yè)務(wù)操作
    // ...
}

在上述代碼中,我們?cè)?code>MyElasticsearchService中注入了RestHighLevelClient。Spring Boot會(huì)自動(dòng)查找配置并創(chuàng)建Elasticsearch客戶(hù)端,然后將其注入到MyElasticsearchService類(lèi)中。當(dāng)應(yīng)用程序關(guān)閉時(shí),Spring Boot會(huì)自動(dòng)關(guān)閉Elasticsearch客戶(hù)端。

確保Elasticsearch服務(wù)器在配置的節(jié)點(diǎn)上運(yùn)行,并且應(yīng)用程序能夠連接到Elasticsearch服務(wù)器。整合完成后,您可以在MyElasticsearchService中使用elasticsearchClient來(lái)執(zhí)行各種Elasticsearch操作。

通過(guò)使用Spring Data Elasticsearch Starter,您可以避免直接使用低級(jí)別的Elasticsearch客戶(hù)端,而是利用Spring Boot的自動(dòng)配置來(lái)簡(jiǎn)化初始化和關(guān)閉操作。這使得整合Elasticsearch變得更加容易和高效。

使用elasticsearch-rest-high-level-client

在Spring Boot中整合Elasticsearch的High Level Client,您首先需要添加相應(yīng)的依賴(lài)坐標(biāo),然后可以使用Spring的管理機(jī)制來(lái)初始化和關(guān)閉客戶(hù)端對(duì)象。
Spring Boot整合ES的兩種方式,分布式云部署,搜索引擎,SpringBoot,spring boot,elasticsearch,jenkins

  1. 添加依賴(lài)坐標(biāo):

在項(xiàng)目的依賴(lài)管理文件(pom.xml或build.gradle)中添加elasticsearch-rest-high-level-client的依賴(lài),以及其他必要的Elasticsearch依賴(lài)。以下是Maven的示例配置:

Maven:

<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-high-level-client</artifactId>
    <version>7.15.0</version> 
</dependency>
  1. 初始化和關(guān)閉客戶(hù)端對(duì)象:

Spring Boot提供了@Bean注解,可以將客戶(hù)端對(duì)象注入到Spring容器中,并在需要時(shí)進(jìn)行初始化和關(guān)閉。您可以創(chuàng)建一個(gè)配置類(lèi),用于配置Elasticsearch客戶(hù)端。

import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.client.RestClientBuilder;
import org.elasticsearch.client.RestClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class ElasticsearchConfig {

    @Value("${elasticsearch.host}")
    private String host;

    @Value("${elasticsearch.port}")
    private int port;

    @Bean(destroyMethod = "close")
    public RestHighLevelClient elasticsearchClient() {
        RestClientBuilder builder = RestClient.builder(new HttpHost(host, port));
        return new RestHighLevelClient(builder);
    }
}

在上述配置類(lèi)中,@Configuration注解表示這是一個(gè)配置類(lèi),@Bean注解用于聲明一個(gè)Bean,其中destroyMethod屬性指定了在Spring容器關(guān)閉時(shí)調(diào)用的方法,用于關(guān)閉客戶(hù)端。

  1. 在application.properties或application.yml中配置連接參數(shù):

在配置文件中添加Elasticsearch的連接參數(shù),例如:

application.properties:

elasticsearch.host=localhost
elasticsearch.port=9200

application.yml:

elasticsearch:
  host: localhost
  port: 9200

這樣,當(dāng)Spring Boot應(yīng)用程序啟動(dòng)時(shí),Elasticsearch客戶(hù)端將被自動(dòng)初始化,并且可以在其他地方通過(guò)@Autowired或@Resource注解將其注入到需要使用的類(lèi)中。在應(yīng)用程序關(guān)閉時(shí),Spring Boot會(huì)自動(dòng)調(diào)用客戶(hù)端的close()方法來(lái)關(guān)閉連接。

注意:確保Elasticsearch服務(wù)器在指定的主機(jī)和端口上運(yùn)行,并且可以從應(yīng)用程序訪問(wèn)。

總結(jié)概括

整合Elasticsearch是Spring Boot的一項(xiàng)常見(jiàn)任務(wù),用于在應(yīng)用程序中使用Elasticsearch搜索和分析功能。ES搜索引擎著實(shí)強(qiáng)大!通過(guò)以上兩種方式,大家可以很好的了解一下:

在Spring Boot中整合Elasticsearch,可以采用兩種主要方式:

  1. 使用elasticsearch-rest-high-level-client依賴(lài):這種方式是直接使用Elasticsearch官方提供的Java客戶(hù)端,通過(guò)HTTP與Elasticsearch集群通信。需要在代碼中手動(dòng)配置連接參數(shù),并管理客戶(hù)端對(duì)象的初始化和關(guān)閉。

  2. 使用Spring Data Elasticsearch Starter:這種方式使用Spring Data Elasticsearch Starter依賴(lài)來(lái)簡(jiǎn)化整合過(guò)程。Starter自動(dòng)配置了Elasticsearch客戶(hù)端,您只需在配置文件中指定連接參數(shù),Spring Boot會(huì)自動(dòng)初始化和管理客戶(hù)端對(duì)象。

管理客戶(hù)端對(duì)象的初始化和關(guān)閉操作:

  • 對(duì)于elasticsearch-rest-high-level-client:您可以使用Java配置類(lèi),在其中通過(guò)@Bean注解創(chuàng)建RestHighLevelClient Bean,并使用@Value注解來(lái)讀取連接參數(shù)。然后使用@Bean的destroyMethod屬性指定客戶(hù)端的關(guān)閉方法,在應(yīng)用程序關(guān)閉時(shí)關(guān)閉客戶(hù)端。

  • 對(duì)于Spring Data Elasticsearch Starter:只需在代碼中直接注入RestHighLevelClient Bean,并在需要時(shí)使用它來(lái)執(zhí)行Elasticsearch操作。Spring Boot會(huì)自動(dòng)管理客戶(hù)端對(duì)象的初始化和關(guān)閉。

無(wú)論您選擇哪種方式整合Elasticsearch,都需要確保Elasticsearch服務(wù)器在配置的節(jié)點(diǎn)上運(yùn)行,并且應(yīng)用程序能夠連接到Elasticsearch服務(wù)器。利用ES提供的強(qiáng)大的搜索和分析功能,實(shí)現(xiàn)業(yè)務(wù)需求,應(yīng)用實(shí)際場(chǎng)景,使我們最終的目標(biāo)?。?!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-635264.html

到了這里,關(guān)于Spring Boot整合ES的兩種方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包