目錄
- 二、Elasticsearch 是什么?
- 三、Elasticsearch 安裝
- 四、Springboot 集成 Elasticsearch 的方式
- 五、創建項目集成 Elasticsearch
-
- 2.創建 Spring Initializr 項目 es
-
- (3).新建實體類 User
- (4).新建 dao 接口類 UserRepository
- (5).新建服務接口類 UserService
- (6).新建服務實現類 UserServiceImpl
- (7).新建控制類 UserController
一、前言
網上 springboot 集成 Elasticsearch 的文章很多,但隨著 springboot 和 Elasticsearch 版本的不斷升級,絕大多數文章使用的集成方式和調用的方法已經過時,幾乎找不到能真正適用最新 springboot 版本和最新 Elasticsearch 版本的文章。
本文正是基于最新 springboot 版本和最新 Elasticsearch 版本實現了集成。
二、Elasticsearch 是什么?
Elasticsearch(ES) 是一個基于 Lucene 的搜索服務器。它提供了一個分布式多用戶能力的全文搜索引擎,基于 RESTful web 接口。Elasticsearch 是用 Java 語言開發的,并作為 Apache 許可條款下的開放源碼發布,是一種流行的企業級搜索引擎。Elasticsearch 用于云計算中,能夠達到實時搜索、穩定、可靠、快速、安裝使用方便。官方客戶端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby 和許多其他語言中都是可用的。根據 DB-Engines 的排名顯示,Elasticsearch 是最受歡迎的企業搜索引擎,其次是 Apache Solr,也是基于 Lucene。
三、Elasticsearch 安裝
見 CentOS7和8下安裝Elasticsearch 和 ElasticSearch ik分詞器的安裝使用 。
四、Springboot 集成 Elasticsearch 的方式
1.TransportClient
TransportClient 在 Elasticsearch 7.0.0 中已被棄用,取而代之的是 Java High Level REST Client,并將在 Elasticsearch 8.0中刪除。在項目中不再建議使用,詳見
官方鏈接: https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-api.html#java-api
image
2.Java REST Client
Java REST Client 在 Elasticsearch 7.15.0 中已棄用,取而代之的是 Java API Client。在項目中不再建議使用,詳見
官方鏈接: https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/index.html
image
3.Java API Client
官方推薦使用的方式。詳見
官方鏈接: https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/current/index.html
4.Spring Data Elasticsearch
Spring Data Elasticsearch 項目提供了與 Elasticsearch 搜索引擎的集成。Spring Data Elasticsearch 的關鍵功能領域是一個以 POJO 為中心的模型,用于與 Elastichsearch 文檔進行交互,并輕松編寫存儲庫數據訪問層。
本文正是基于 Spring Data Elasticsearch 方式實現 springboot 集成 Elasticsearch。
五、創建項目集成 Elasticsearch
1.項目說明
新建 Spring Initializr 項目 es,項目下新建 controller、entity、dao、service、impl 類,實現對 Elasticsearch 的 CRUD 操作。
項目目錄結構:
image
2.創建 Spring Initializr 項目 es
image
(1).添加依賴
添加依賴,如果已按截圖操作,pom.xml 的內容會自動生成:
(2).添加配置
application.yml 文件中添加如下配置:
(3).新建實體類 User
為減少不必要的代碼,引入 lombok 依賴:
實體類代碼如下:
(4).新建 dao 接口類 UserRepository
(5).新建服務接口類 UserService
(6).新建服務實現類 UserServiceImpl
(7).新建控制類 UserController
3.啟動服務并測試
啟動服務后,瀏覽器輸入:http://localhost:8080/user/insert,會新增一條 id 為 “1” 的記錄:
image
瀏覽器輸入:http://localhost:8080/user/delete,會刪除一條 id 為 “1” 的記錄:
image
瀏覽器輸入:http://localhost:8080/user/getAll,會顯示所有記錄:
image
著作權歸作者所有,轉載或內容合作請聯系作者
喜歡的朋友記得點贊、收藏、關注哦!!!