0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SpringBoot整合ElasticSearch

Java開發(fā) ? 來源:Java開發(fā) ? 作者:Java開發(fā) ? 2023-03-09 14:56 ? 次閱讀

ElasticSearch是個開源分布式搜索引擎,提供搜集、分析、存儲數(shù)據(jù)三大功能。它的特點有:分布式,零配置,自動發(fā)現(xiàn),索引自動分片,索引副本機制,restful風(fēng)格接口,多數(shù)據(jù)源,自動搜索負載等。主要負責(zé)將日志索引并存儲起來,方便業(yè)務(wù)方檢索查詢。

ElasticSearch安裝方式參考:

Linux安裝ElasticSearch

Linux安裝elasticsearch-head

Windows安裝ElasticSearch

1 Spring項目

項目GitHub地址:https://github.com/Snowstorm0/learn-es

項目Gitee地址:https://gitee.com/Snowstorm0/learn-es

1.1 配置ES客戶端

public class RestClientConfig extends AbstractElasticsearchConfiguration {
    @Override
    @Bean
    public RestHighLevelClient elasticsearchClient() {
        final ClientConfiguration clientConfiguration = ClientConfiguration.builder()
                .connectedTo("localhost:9200")
                .build();
        return RestClients.create(clientConfiguration).rest();
    }
}

1.2 創(chuàng)建User類

public class UserEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Integer id;
    private String name;
    private String job;
    private Double deposit;
    private Date processTime = new Date();
}

配置完成后,ElasticSearch即可像常規(guī)的數(shù)據(jù)庫那樣進行增刪改查的操作。

1.3 配置數(shù)據(jù)庫

spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://localhost:3306/sys?characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC

2 運行項目

2.1 添加

調(diào)用添加接口:http://localhost:8080/user/add

添加User類的請求體:

{
  "id":"1",
  "name":"代碼的路",
  "job":"碼農(nóng)",
  "deposit":100.0
}

可以看到添加成功:

2.2 讀取

運行讀取接口:http://localhost:8080/user/search/whole?key=碼農(nóng)

可以獲得剛寫入的User類,是完整結(jié)構(gòu):

運行讀取接口:http://localhost:8080/user/search/es?key=碼農(nóng)

可以獲得剛寫入的User類,只有User結(jié)構(gòu):

打開數(shù)據(jù)庫,無需手動創(chuàng)建表結(jié)構(gòu),即可看到User類也已經(jīng)寫入到數(shù)據(jù)庫中:

因此可以刻直接從數(shù)據(jù)庫讀取。

學(xué)習(xí)更多編程知識,請關(guān)注我的公眾號:

代碼的路

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ES
    ES
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    20008
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2943

    瀏覽量

    104096
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    3711

    瀏覽量

    64023
  • SpringBoot
    +關(guān)注

    關(guān)注

    0

    文章

    172

    瀏覽量

    145
收藏 人收藏

    評論

    相關(guān)推薦

    Rust編寫的首個Postgres基礎(chǔ)Elasticsearch開源替代品問世

    ,F(xiàn)irebase 開源替代 Supabase,AirTable 開源替代 NocoDB,等等等等,現(xiàn)在又多了 ElasticSearch 開源替代 —— ParadeDB。
    的頭像 發(fā)表于 02-22 11:34 ?640次閱讀
    Rust編寫的首個Postgres基礎(chǔ)<b class='flag-5'>Elasticsearch</b>開源替代品問世

    SpringBoot實現(xiàn)動態(tài)切換數(shù)據(jù)源

    最近在做業(yè)務(wù)需求時,需要從不同的數(shù)據(jù)庫中獲取數(shù)據(jù)然后寫入到當(dāng)前數(shù)據(jù)庫中,因此涉及到切換數(shù)據(jù)源問題。本來想著使用Mybatis-plus中提供的動態(tài)數(shù)據(jù)源SpringBoot的starter:dynamic-datasource-spring-boot-starter來實現(xiàn)。
    的頭像 發(fā)表于 12-08 10:53 ?839次閱讀
    <b class='flag-5'>SpringBoot</b>實現(xiàn)動態(tài)切換數(shù)據(jù)源

    Caffeine保姆級教程:SpringBoot整合Caffeine介紹

    緩存(Cache)在代碼世界中無處不在。從底層的CPU多級緩存,到客戶端的頁面緩存,處處都存在著緩存的身影。緩存從本質(zhì)上來說,是一種空間換時間的手段,通過對數(shù)據(jù)進行一定的空間安排,使得下次進行數(shù)據(jù)訪問時起到加速的效果。
    的頭像 發(fā)表于 12-02 15:49 ?4313次閱讀
    Caffeine保姆級教程:<b class='flag-5'>SpringBoot</b><b class='flag-5'>整合</b>Caffeine介紹

    一個注解搞定SpringBoot接口防刷

    技術(shù)要點:springboot的基本知識,redis基本操作,
    的頭像 發(fā)表于 11-28 10:46 ?341次閱讀

    GPS與GSM系統(tǒng)的整合應(yīng)用設(shè)計

    電子發(fā)燒友網(wǎng)站提供《GPS與GSM系統(tǒng)的整合應(yīng)用設(shè)計.pdf》資料免費下載
    發(fā)表于 11-17 16:38 ?0次下載
    GPS與GSM系統(tǒng)的<b class='flag-5'>整合</b>應(yīng)用設(shè)計

    javaweb和springboot能一起用嗎

    JavaWeb 和 SpringBoot 是兩種針對 Java 程序開發(fā)的框架,它們可以在一起使用。在本文中,我將詳細介紹 JavaWeb 和 SpringBoot 的關(guān)系,并探討如何結(jié)合使用這兩個
    的頭像 發(fā)表于 11-16 10:54 ?1705次閱讀

    Quarkus是SpringBoot的替代品嗎?

    SpringBoot框架不用多介紹,Java程序員想必都知道。相對來說熟悉Quarkus的人可能會少一些。Quarkus首頁放出的標(biāo)語:超音速亞原子的Java(Supersonic Subatomic Java)。
    的頭像 發(fā)表于 11-10 10:01 ?590次閱讀
    Quarkus是<b class='flag-5'>SpringBoot</b>的替代品嗎?

    源譯識 | 譯文分享:Elasticsearch訴Amazon商標(biāo)侵權(quán)案

    【編者按】 ElasticSearch是歸屬Elastic公司的一個開源項目,提供分布式、高擴展、高實時的搜索與數(shù)據(jù)分析引擎。Amazon公司于2015年基于ElasticSearch推出了自己
    的頭像 發(fā)表于 11-06 19:10 ?596次閱讀

    Python 更新 Elasticsearch 的幾種方法

    今天總結(jié)一下通過 Python 更新 Elasticsearch 數(shù)據(jù)的幾個方法 Elasticsearch 是一個實時的分布式搜索分析引擎,它能讓你以前所未有的速度和規(guī)模,去探索你的數(shù)據(jù)。它被用作
    的頭像 發(fā)表于 11-01 10:11 ?973次閱讀
    Python 更新 <b class='flag-5'>Elasticsearch</b> 的幾種方法

    SpringBoot 連接ElasticSearch的使用方式

    SpringBoot,今天我們就以 SpringBoot 整合 ElasticSearch 為例,給大家詳細的介紹 ElasticSearch
    的頭像 發(fā)表于 10-09 10:35 ?634次閱讀

    如何用Springboot整合Redis

    本篇文件我們來介紹如何用Springboot整合Redis。 1、Docker 安裝 Redis 1.1 下載鏡像 docker pull redis: 6 . 2 . 6 1.2 創(chuàng)建配置文件
    的頭像 發(fā)表于 10-08 14:56 ?487次閱讀
    如何用<b class='flag-5'>Springboot</b><b class='flag-5'>整合</b>Redis

    springboot的輕量替代框架-Solon

    的不可能不知道Spring,今天給大家介紹一個號稱springboot的輕量替代框架-Solon,這個框架還是國人開發(fā)的,真是一個單挑spring的男人。 認識Solon Solon是一個參考了Spring
    的頭像 發(fā)表于 09-30 10:55 ?3866次閱讀
    <b class='flag-5'>springboot</b>的輕量替代框架-Solon

    Elasticsearch存在的各種漏洞問題

    elasticsearch 8 之前使用的一個老系統(tǒng)使用了elasticsearch7.x版本,之后又反應(yīng)es版本存在各種漏洞 無奈只能做版本升級來解決問題,計劃是將版本升級到8.x,在網(wǎng)上了解了下
    的頭像 發(fā)表于 09-30 10:40 ?2983次閱讀
    <b class='flag-5'>Elasticsearch</b>存在的各種漏洞問題

    SpringBoot 如何實現(xiàn)熱部署

    熱部署是軟件開發(fā)中一個非常有用的功能,它允許我們在不重新啟動整個應(yīng)用的情況下,依舊能夠使我們修改的代碼生效。 現(xiàn)在Java Web 開發(fā)應(yīng)該都是使用的 SpringBoot,那么本篇文章就來介紹
    的頭像 發(fā)表于 09-30 10:16 ?730次閱讀
    <b class='flag-5'>SpringBoot</b> 如何實現(xiàn)熱部署

    如何成功遷移到Springboot工程

    最近在做一個老舊工程的遷移,其中一個服務(wù)端接口是使用 WebService 做的,而且用的是 Axis1.4 這種老的不能再老的框架。經(jīng)過一番探索和研究,終于成功遷移到Springboot工程里
    的頭像 發(fā)表于 09-25 10:53 ?1066次閱讀
    如何成功遷移到<b class='flag-5'>Springboot</b>工程