Spring Boot學習之---Spring Boot與檢索 下(十六)

37358143發表於2020-12-07

五、Spring Boot整合ElasticSearch測試

  • 引入spring-boot-starter-data-elasticsearch
  • 安裝Spring Data對應版本的ElasticSearch
  • application.yml配置
  • Spring Boot自動配置的 
  • 測試ElasticSearch

六、建立IDEA專案

七、ElasticSearch的自動配置過程

* SpringBoot預設支援兩種技術來和ES互動
* 1、Jest【需匯入jest的工具包io.searchbox.client.JestClient才能使用】
*   使用JestClient操作es
* 2、SpringData ElasticSearch【預設生效,ES版本有可能不合適】
*   版本適配說明:https://github.com/spring-projects/spring-data-elasticsearch
*   參考:https://mp.csdn.net/editor/html/110729158
*   如果版本不適配,有2種解決方法:
*          ①、安裝對應的SpringBoot版本
*          ②、安裝對應的ES版本  --- 一般選擇這個,這裡需要2.4.6版本
*
*      1) 需在application檔案中配置節點資訊clusterNodes、clusterName
*      2) 兩種用法:ElasticsearchTemplate操作es
*      3) 兩種用法:編寫一個ElasticsearchRepository的子介面來操作es(類似JPA)
*      兩種用法:https://github.com/spring-projects/spring-data-elasticsearch

7.1 使用Jest操作es

1、去maven官網,匯入依賴

2、配置檔案

3、啟動主程式類,成功

4、測試 索引(儲存)一個文件
@JestId

5、測試 搜尋一個文件

7.2 繼承ElasticsearchRepository介面操作es

1、匯入依賴

2、spring date elasticsearch整合elasticsearch時,需要進行版本適配

 版本適配說明:https://github.com/spring-projects/spring-data-elasticsearch
*   如果版本不適配,有2種解決方法:
*          ①、安裝對應的SpringBoot版本
*          ②、安裝對應的ES版本  --- 一般選擇這個,這裡需要2.4.6版本

3、如果是這樣的報錯,就說明版本不適配,參考2中步驟

這樣看版本:elasticsearch是5.6.12版本(目前最新版本,因為docker時pull的lastest版本)。SpringBoot 2.1.11需要的是對應的es版本(參考官網的版本適配圖)

4、重新下載新版本,並測試
docker pull elasticsearch:2.4.6-alpine
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9201:9200 -p 9301:9300 --name ES02 26d1ac62cc29

5、測試1

6、測試自定義方法
參照 https://docs.spring.io/spring-data/elasticsearch/docs/3.0.6.RELEASE/reference/html/


7、ElasticsearchRepository介面的使用

參照 https://docs.spring.io/spring-data/elasticsearch/docs/3.0.6.RELEASE/reference/html/

7.3 使用ElasticsearchTemplate操作es

相關文章