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

完善資料讓更多小伙伴認(rèn)識你,還能領(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),索引自動分片,索引副本機(jī)制,restful風(fēng)格接口,多數(shù)據(jù)源,自動搜索負(fù)載等。主要負(fù)責(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ù)庫那樣進(jìn)行增刪改查的操作。

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

    瀏覽量

    20051
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2970

    瀏覽量

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

    關(guān)注

    7

    文章

    3817

    瀏覽量

    64490
  • SpringBoot
    +關(guān)注

    關(guān)注

    0

    文章

    173

    瀏覽量

    183
收藏 人收藏

    評論

    相關(guān)推薦

    構(gòu)建高效搜索解決方案,Elasticsearch & Kibana 的完美結(jié)合

    前言 構(gòu)建高效搜索解決方案,F(xiàn)lexusX 服務(wù)器與 Elasticsearch & Kibana 的完美結(jié)合,為企業(yè)帶來云端搜索新體驗。FlexusX 實例以其卓越性能與靈活擴(kuò)展性,確保高并發(fā)搜索
    的頭像 發(fā)表于 12-27 13:48 ?87次閱讀
    構(gòu)建高效搜索解決方案,<b class='flag-5'>Elasticsearch</b> &amp; Kibana 的完美結(jié)合

    企業(yè)如何用ELK技術(shù)棧實現(xiàn)數(shù)據(jù)流量爆炸式增長

    ELK簡介 什么是ELK 通俗來講,ELK 是由 Elasticsearch、Logstash、Kibana 三個開源軟件的組成的一個組合體,ELK 是 elastic 公司研發(fā)的一套完整的日志收集
    的頭像 發(fā)表于 12-19 11:38 ?117次閱讀
    企業(yè)如何用ELK技術(shù)棧實現(xiàn)數(shù)據(jù)流量爆炸式增長

    SSM與Hibernate的整合使用

    作為Java持久化框架的代表,常被整合到SSM框架中。 SSM框架簡介 SSM框架是指Spring、SpringMVC和MyBatis三個框架的整合使用。Spring負(fù)責(zé)依賴注入和事務(wù)管理
    的頭像 發(fā)表于 12-17 09:14 ?183次閱讀

    極氪科技與領(lǐng)克汽車完成戰(zhàn)略整合

    近日,浙江極氪智能科技有限公司與領(lǐng)克汽車宣布完成了一項重大的戰(zhàn)略整合整合后,新公司正式命名為“極氪科技集團(tuán)”,并計劃在未來兩年內(nèi),將年產(chǎn)銷規(guī)模提升至百萬級別,成為高端豪華新能源汽車領(lǐng)域的佼佼者
    的頭像 發(fā)表于 12-04 10:57 ?383次閱讀

    Elasticsearch 再次開源

    Elasticsearch 和 Kibana 又可以被稱為開源了。很難表達(dá)這句話讓我有多高興。我激動得簡直要跳起來了。我們 Elastic 的所有人都是如此。開源是我的 DNA。這也是Elastic的DNA。能夠再次將 Elasticsearch 稱為開源,我感到非常高興
    的頭像 發(fā)表于 11-13 12:14 ?145次閱讀
    <b class='flag-5'>Elasticsearch</b> 再次開源

    赫斯特與OpenAI達(dá)成內(nèi)容整合協(xié)議

    近日,美國大眾媒體和商業(yè)信息集團(tuán)赫斯特宣布與OpenAI達(dá)成了一項內(nèi)容合作協(xié)議。根據(jù)協(xié)議,赫斯特的報紙和國內(nèi)雜志內(nèi)容將被整合到OpenAI的產(chǎn)品中,為用戶帶來更加豐富和實用的信息體驗。
    的頭像 發(fā)表于 10-09 16:28 ?293次閱讀

    整合電源正常信號

    電子發(fā)燒友網(wǎng)站提供《整合電源正常信號.pdf》資料免費下載
    發(fā)表于 09-24 11:37 ?0次下載
    <b class='flag-5'>整合</b>電源正常信號

    基于分布式對象存儲WDS的信托非結(jié)構(gòu)化數(shù)據(jù)整合平臺

    基于分布式對象存儲WDS的信托非結(jié)構(gòu)化數(shù)據(jù)整合平臺
    的頭像 發(fā)表于 08-28 09:56 ?356次閱讀
    基于分布式對象存儲WDS的信托非結(jié)構(gòu)化數(shù)據(jù)<b class='flag-5'>整合</b>平臺

    軟件系統(tǒng)的數(shù)據(jù)檢索設(shè)計

    軟件系統(tǒng)的數(shù)據(jù)檢索設(shè)計 隨著業(yè)務(wù)量加大,數(shù)據(jù)檢索量也會日益增多,為了減輕數(shù)據(jù)庫壓力,本系統(tǒng)采用ElasticSearch來實現(xiàn)數(shù)據(jù)檢索功能。 簡單來說,Elasticsearch 是一個實時的分布式
    的頭像 發(fā)表于 08-22 14:08 ?277次閱讀
    軟件系統(tǒng)的數(shù)據(jù)檢索設(shè)計

    統(tǒng)一日志數(shù)據(jù)流圖

    統(tǒng)一日志數(shù)據(jù)流圖 日志系統(tǒng)數(shù)據(jù)流圖 系統(tǒng)進(jìn)行日志收集的過程可以分為三個環(huán)節(jié): (1)日志收集和導(dǎo)入ElasticSearch (2)ElasticSearch進(jìn)行索引等處理 (3)可視化操作,查詢等
    的頭像 發(fā)表于 08-21 15:00 ?322次閱讀
    統(tǒng)一日志數(shù)據(jù)流圖

    Elasticsearch Mapping類型修改

    原創(chuàng)聲明:該文章是個人在項目中親歷后的經(jīng)驗總結(jié)和分享,如有搬運需求請注明出處。 這是“深入淺出系列”文章的第一篇,主要記錄和分享程序設(shè)計的一些思想和方法論,如果讀者覺得所有受用,還請“一鍵三連”,這是對我最大的鼓勵。 一、老生常談,到底啥是可讀性 一句話:見名知其義。有人說好的代碼必然有清晰完整的注釋,我不否認(rèn);也有人說代碼即注釋,是代碼簡潔之道的最高境界,我也不否認(rèn)。但我都不完全接受,如果照搬前者,有
    的頭像 發(fā)表于 08-09 16:00 ?132次閱讀

    嵌入式軟件開發(fā)與AI整合

    嵌入式軟件開發(fā)與AI整合是當(dāng)前技術(shù)發(fā)展的重要趨勢之一。隨著人工智能技術(shù)的快速發(fā)展,嵌入式系統(tǒng)越來越多地集成了AI算法,以實現(xiàn)更復(fù)雜的智能功能。以下是關(guān)于嵌入式軟件開發(fā)與AI整合的詳細(xì)分析
    的頭像 發(fā)表于 07-31 09:25 ?733次閱讀
    嵌入式軟件開發(fā)與AI<b class='flag-5'>整合</b>

    谷歌Google Calendar、Tasks與Keep應(yīng)用中成功整合Gemini模型

    谷歌于今日發(fā)布的I/O 2024開發(fā)者大會新聞中展現(xiàn)了其在Google Calendar, Tasks以及Keep應(yīng)用中整合Gemini模型的最新進(jìn)展,為用戶呈現(xiàn)出更為智能化的使用體驗。
    的頭像 發(fā)表于 05-15 11:10 ?370次閱讀

    英飛凌宣布與ThistleTechnologies技術(shù)整合

    全球半導(dǎo)體巨頭英飛凌科技宣布,其OPTIGA? Trust M安全控制器已成功整合Thistle Technologies的Verified Boot技術(shù)。Thistle作為連接設(shè)備安全領(lǐng)域的領(lǐng)先者,此次合作將為用戶帶來前所未有的安全保障。
    的頭像 發(fā)表于 05-07 15:03 ?477次閱讀

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

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