最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

袁庭新老師ES系列17節(jié)|Spring Data Elasticsearch基礎(chǔ)

2023-09-22 12:28 作者:袁庭新  | 我要投稿

前言

為了簡化對Elasticsearch的操作Spring Data提供了Spring Data Elasticsearch。Spring Data Elasticsearch是Spring Data技術(shù)對Elasticsearch原生API封裝之后的產(chǎn)物,它通過對原生API的封裝,使得程序員可以簡單的對Elasticsearch進(jìn)行各種操作。接下來就跟著袁老師一起來學(xué)習(xí)Spring Data Elasticsearch相關(guān)的知識。

一.?Spring Data Elasticsearch概述

Spring Data Elasticsearch官方文檔地址:

1.簡介

Spring Data for Elasticsearch是Spring Data項目的一部分,該項目旨在為新的數(shù)據(jù)存儲提供一個熟悉且一致的基于Spring的編程模型,同時保留特定于存儲的特性和功能。

Spring Data Elasticsearch項目提供了與Elasticsearch搜索引擎的集成。Spring Data Elasticsearch的關(guān)鍵功能領(lǐng)域是一個以POJO為中心的模型,用于與Elasticsearch文檔交互,并輕松編寫一個Repository風(fēng)格的數(shù)據(jù)訪問層。

2.特征

Spring Data for Elasticsearch的特性主要見下:

  • Spring配置支持使用基于Java的@Configuration類或ES客戶端實例的XML命名空間。

  • ElasticsearchTemplate幫助類,它可以提高執(zhí)行常見ES操作的效率。包括文檔和POJO之間的集成對象映射。

  • 與Spring的轉(zhuǎn)換服務(wù)集成的功能豐富的對象映射。

  • 基于注釋的映射元數(shù)據(jù),但可擴展以支持其他元數(shù)據(jù)格式。

  • 自動實現(xiàn)Repository接口,包括對自定義查找器方法的支持。

  • 對存儲庫的CDI支持。

二.?Spring Data Elasticsearch配置

1.基本配置

1.我們在【es-client】項目的pom.xml文件中,引入Spring Data Elasticsearch的啟動器。

2.在resources目錄下的application.yml文件中配置Elasticsearch的host和port信息。

需要注意的是,Spring Data Elasticsearch底層使用的不是Elasticsearch提供的RestHighLevelClient,而是TransportClient,并不采用HTTP協(xié)議通信,而是訪問Elasticsearch對外開放的TCP端口。我們在之前集群配置中,設(shè)置的端口分別是:9301、9302、9303。

另外,Spring Boot已經(jīng)幫我們配置好了各種SDE配置,并且注冊了一個ElasticsearchTemplate供我們使用。接下來一起來試試吧。

3.在test測試文件夾下的com.yx.es包下創(chuàng)建一個SpringDataESTests測試類。通過@Autowired注解對ElasticsearchTemplate進(jìn)行注入,測試對象是否可以獲取到。

4.運行check()方法,輸出結(jié)果見下:

2.異常解析

如果運行check()方法報錯,可能是以下問題所導(dǎo)致。

1.在pom.xml配置文件中,將Spring Boot的版本設(shè)置為2.1.6.RELEASE,進(jìn)行降級處理。原因是安裝的Elasticsearch是6.2.4版本,如果Spring Boot的版本過高可能不兼容。

2.檢查ElasticsearchTemplate類的導(dǎo)包是否是org.springframework.data.elasticsearch.core.ElasticsearchTemplate。高版本的SDE可能包結(jié)構(gòu)有區(qū)別。

3.如果輸出結(jié)果是"null",原因是低版本的Spring Boot測試類需要添加@RunWith(SpringRunner.class)注解進(jìn)行修飾。

三.?索引庫操作

1.創(chuàng)建索引庫

創(chuàng)建索引庫需要使用到的注解:

實際上,與我們自定義工具類類似,SDE也是通過實體類上的注解來配置索引庫信息的。

1.我們在Product實體類上添加下面的一些注解。

2.在SpringDataESTests類中定義創(chuàng)建索引的createIndex()方法。

2.創(chuàng)建映射

剛才的注解已經(jīng)把映射關(guān)系也配置上了,所以創(chuàng)建映射只需要這樣:

四. 結(jié)語

跟著袁老師回顧一下這一章節(jié)我們學(xué)習(xí)的主要內(nèi)容,首先我們對Spring Data Elasticsearch進(jìn)行了簡單介紹并概述了其特征;然后學(xué)習(xí)了Spring Data Elasticsearch的基本配置;最后介紹了通過Spring Data Elasticsearch如何操作Elasticsearch。關(guān)于Spring Data for Elasticsearch的基本使用就給大家介紹到這里。

袁庭新老師ES系列17節(jié)|Spring Data Elasticsearch基礎(chǔ)的評論 (共 條)

分享到微博請遵守國家法律
顺义区| 镇江市| 二手房| 康马县| 离岛区| 晋中市| 佳木斯市| 滕州市| 南丰县| 高唐县| 蓬溪县| 华蓥市| 普安县| 丰顺县| 邹平县| 奉新县| 交城县| 泾源县| 宁明县| 孙吴县| 永登县| 宜阳县| 高阳县| 永川市| 崇明县| 仁布县| 余江县| 大厂| 襄樊市| 达拉特旗| 大洼县| 开远市| 昌图县| 阆中市| 文水县| 赤水市| 富源县| 禹州市| 石城县| 沙雅县| 垫江县|