国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring Data Elasticsearch介紹(七)

這篇具有很好參考價(jià)值的文章主要介紹了Spring Data Elasticsearch介紹(七)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

????????Spring Data Elasticsearch是Spring Boot套件中的一個(gè)組件,在Spring Boot中連接ES可以使用Spring Data Elasticsearch。

????????Spring Data Elasticsearch是Spring Data項(xiàng)目的一部分,該項(xiàng)目致力于提供一致的基于Spring的數(shù)據(jù)查詢和存儲(chǔ)編程模型。

????????Spring Data Elasticsearch封裝了創(chuàng)建客戶端的邏輯并與服務(wù)端保持長連接,讓我們不必關(guān)注于網(wǎng)絡(luò)連接問題。并且,通過對Repository接口的自動(dòng)實(shí)現(xiàn),Spring Data Elasticsearch可以直接通過方法名的語義實(shí)現(xiàn)查詢功能,如常見的findBy+字段名+操作。

????????Spring Data Elasticsearch還具有OR-Mapping功能,即查詢到數(shù)據(jù)后,可以將數(shù)據(jù)直接封裝到自定義的POJO中,方便后續(xù)對數(shù)據(jù)進(jìn)行加工處理。

示例:

一、創(chuàng)建Springboot項(xiàng)目,導(dǎo)入依賴

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.7.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
            <version>2.7.0</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.22</version>
        </dependency>
    </dependencies>

二、在application.yml中配置ES連接信息

spring:
  elasticsearch:
    uris: http://localhost:9200
    username: ""
    password: ""

????????其中,uris、username和password項(xiàng)需要填寫協(xié)調(diào)節(jié)點(diǎn)服務(wù)地址(IP地址+端口號(hào))、用戶名和密碼。當(dāng)有多個(gè)協(xié)調(diào)節(jié)點(diǎn)時(shí),可以設(shè)置uris的值為多個(gè)協(xié)調(diào)節(jié)點(diǎn)的服務(wù)地址,中間用逗號(hào)分隔。

????????至此,當(dāng)項(xiàng)目啟動(dòng)時(shí)Spring Data Elasticsearch就會(huì)創(chuàng)建客戶端,然后連接ES服務(wù)端并與其保持長連接。

三、Spring Boot客戶端搜索文檔

import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;

@Document(indexName = "hotel")
@Data
public class Hotel {
    @Id
    String id;
    String title;
    String city;
    String price;
}

????????在上面的代碼中,在ID字段中添加了一個(gè)注解@Id。注意,一個(gè)Spring Data Elasticsearch的POJO必須定義一個(gè)被@Id修飾的字段,它是和索引中的_id相對應(yīng)的。當(dāng)搜索完成時(shí),Spring Data Elasticsearch會(huì)將該P(yáng)OJO的字段填充為搜索結(jié)果顯示的數(shù)據(jù),包括ID字段(填充為文檔的_id值)。

????????EsRepository定義為接口,它需要繼承CrudRepository接口。在EsRepository接口中,可以按照業(yè)務(wù)需求定義方法,Spring Data Elasticsearch會(huì)自動(dòng)找到其類庫中合適的實(shí)現(xiàn)類。EsRepository的定義代碼如下:

import org.springframework.data.repository.CrudRepository;

import java.util.List;

public interface EsRepository extends CrudRepository<Hotel,String> {

    List<Hotel> findByTitle(String title);
}

????????在EsRepository中定義了findByTitle()方法,Spring Data Elasticsearch會(huì)自動(dòng)根據(jù)方法名稱識(shí)別出方法的具體邏輯,然后生成Bean并填充邏輯代碼實(shí)現(xiàn)該方法。

????????完成EsRepository的定義后,在Service中就可以定義EsRepository類型的成員變量了,由Spring Boot完成注入,在getHotelByTitle()方法中調(diào)用EsRepository的對應(yīng)方法完成搜索。

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;

@Service
public class EsService {

    @Autowired
    EsRepository esRepository;

    public List<Hotel> getHotelByTitle(String title){
        return esRepository.findByTitle(title);
    }
}

????????Controller的實(shí)現(xiàn)部分,URL還是只映射到/testEs。在Controller中,使用EsService搜索到結(jié)果以后直接將其打印到網(wǎng)頁上。EsController的實(shí)現(xiàn)代碼如下:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;

@RestController
public class ESController {
    @Autowired
    EsService esService;

    @RequestMapping("/testEs")
    public String getTitle(){
        List<Hotel> hotels = esService.getHotelByTitle("java");
        if(hotels!=null&&hotels.size()>0){
            return hotels.toString();
        }else{
            return "no data";
        }
    }
}

啟動(dòng)程序后,在瀏覽器中輸入http://localhost:8080/testEs,結(jié)果如下圖所示。

spring-data-elasticsearch,elasticsearch,java,elasticsearch,spring,java

?文章來源地址http://www.zghlxwxcb.cn/news/detail-622738.html

到了這里,關(guān)于Spring Data Elasticsearch介紹(七)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • spring data系列之Spring data ElasticSearch

    spring data系列之Spring data ElasticSearch

    Spring data ElasticSearch簡介: ?????? Elasticsearch是一個(gè)實(shí)時(shí)的分布式搜索和分析引擎。它底層封裝了Lucene框架,可以提供分布式多用戶的全文搜索服務(wù)。 ?????? Spring Data ElasticSearch是SpringData技術(shù)對ElasticSearch原生API封裝之后的產(chǎn)物,它通過對原生API的封裝,使得程序員可以簡單的

    2023年04月08日
    瀏覽(33)
  • Spring Boot中使用Spring Data Elasticsearch訪問Elasticsearch

    Spring Boot中使用Spring Data Elasticsearch訪問Elasticsearch

    Elasticsearch是一個(gè)分布式的全文搜索和分析引擎,它可以將海量數(shù)據(jù)進(jìn)行快速的查詢和聚合。Spring Data Elasticsearch是Spring Data家族中的一個(gè)成員,它提供了與Elasticsearch的集成,可以方便地使用Spring框架來訪問Elasticsearch。 在本文中,我們將會(huì)介紹如何在Spring Boot中使用Spring Data

    2024年02月08日
    瀏覽(21)
  • Spring Data Elasticsearch 使用(Elasticsearch)

    Spring Data Elasticsearch 使用(Elasticsearch)

    ? 在項(xiàng)目的 pom.xml 中引?Spring Data Elasticsearch的啟動(dòng)器。 ?需要注意的是,Spring Data Elasticsearch底層使?的不是Elasticsearch提供的RestHighLevelClient,?是 TransportClient,并不采?HTTP協(xié)議通信,?是訪問Elasticsearch對外開放的TCP端?。我們在之前集群配置 中,設(shè)置的端?分別是:9301、

    2024年02月05日
    瀏覽(19)
  • Spring Data Elasticsearch - 在Spring應(yīng)用中操作Elasticsearch數(shù)據(jù)庫

    Spring Data Elasticsearch為文檔的存儲(chǔ),查詢,排序和統(tǒng)計(jì)提供了一個(gè)高度抽象的模板。使用Spring Data ElasticSearch來操作Elasticsearch,可以較大程度的減少我們的代碼量,提高我們的開發(fā)效率。 要使用Elasticsearch我們需要引入如下依賴: 還需要在配置文件中增加如下配置 類比于MyBat

    2024年02月14日
    瀏覽(19)
  • spring Data Elasticsearch入門

    spring Data Elasticsearch入門

    1.Elasticsearch Elasticsearch提供了兩種連接方式: transport:通過TCP方式訪問ES。(已廢棄) rest:通過HTTP API 方式訪問ES。 描述: Spring Data Elasticsearch 項(xiàng)目提供了與Elasticsearch 搜索引擎的集成。Spring Data ElasticSearch 的關(guān)鍵功能領(lǐng)域是以POJO為中心的模型,用于與Elastichsearch 文檔交互并

    2024年02月02日
    瀏覽(24)
  • Spring Data ElasticSearch簡介

    Spring Data ElasticSearch簡介

    Spring Data是?個(gè)?于簡化數(shù)據(jù)庫訪問,并?持云服務(wù)的開源框架。其主要?標(biāo)是使得對數(shù)據(jù)的訪問變 得?便快捷,并?持map-reduce框架和云計(jì)算數(shù)據(jù)服務(wù)。 Spring Data可以極?的簡化JPA的寫法,可 以在?乎不?寫實(shí)現(xiàn)的情況下,實(shí)現(xiàn)對數(shù)據(jù)的訪問和操作。除了CRUD外,還包括如分

    2023年04月19日
    瀏覽(18)
  • Spring Data Elasticsearch--使用/教程/實(shí)例

    Spring Data Elasticsearch--使用/教程/實(shí)例

    原文網(wǎng)址:Spring Data Elasticsearch--使用/教程/實(shí)例_IT利刃出鞘的博客-CSDN博客 技術(shù)星球 歡迎來到IT技術(shù)星球,網(wǎng)站是:learn.skyofit.com(或者百度直接搜:自學(xué)精靈)。內(nèi)容有: Java真實(shí)面試題 、 Java設(shè)計(jì)模式實(shí)戰(zhàn) 、Shiro項(xiàng)目實(shí)戰(zhàn)、 Idea和Navicat的“魔法” 教程、 SpringBoot進(jìn)階 、架構(gòu)

    2023年04月09日
    瀏覽(45)
  • Spring Data Elasticsearch配置及使用

    以POJO為中心模型用于與Elastichsearch文檔交互,并輕松編寫存儲(chǔ)庫樣式的數(shù)據(jù)訪問層框架 我們學(xué)習(xí)的是底層封裝了Rest High Level的ElasticsearchRestTemplate模板類型。需要使用Java API Client(Transport),則應(yīng)用ElasticsearchTemplate模板類型即可。兩種類型中的方法API幾乎完全一樣,學(xué)會(huì)了一

    2024年02月11日
    瀏覽(27)
  • Spring Data Elasticsearch 的簡單使用

    目錄 一、簡介 二、配置 三、映射 四、?常用方法 五、操作(重點(diǎn)) 1、對索引表的操作 2、對文檔的操作(重點(diǎn)) (1)、添加文檔 ?(2)、刪除文檔 (3)、查詢文檔(重點(diǎn)) 查詢?nèi)课臋n?(兩種方式) matchQuery根據(jù)拆分進(jìn)行全局搜索 matchPhraseQuery短語搜索--完整搜

    2024年02月12日
    瀏覽(17)
  • Elasticsearch版本和Spring Data Elasticsearch版本對應(yīng)關(guān)系

    Elasticsearch版本和Spring Data Elasticsearch版本對應(yīng)關(guān)系

    Elasticsearch版本和Spring Data Elasticsearch版本對應(yīng)關(guān)系 官網(wǎng)說明 【官網(wǎng)說明】:https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/#preface.versions Elasticsearch歷史版本地址 歷史版本:【https://www.elastic.co/cn/downloads/past-releases#elasticsearch】

    2024年02月12日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包