最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot集成ElasticSearch實(shí)現(xiàn)搜索功能

 更新時(shí)間:2025年03月24日 09:13:58   作者:阿里渣渣java研發(fā)組-群主  
本文主要介紹了Spring Boot 集成ElasticSearch實(shí)現(xiàn)搜索功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

引言

在現(xiàn)代Web應(yīng)用中,搜索功能是一個(gè)非常重要的特性。ElasticSearch是一個(gè)分布式的搜索和分析引擎,能夠快速地存儲(chǔ)、搜索和分析大量數(shù)據(jù)。Spring Data ElasticSearch提供了與ElasticSearch集成的簡(jiǎn)便方式。本文將介紹如何在Spring Boot中集成ElasticSearch,實(shí)現(xiàn)基本的搜索功能。

什么是ElasticSearch

ElasticSearch是一個(gè)基于Lucene的開(kāi)源搜索引擎,支持全文搜索、結(jié)構(gòu)化搜索和分析,并能夠處理海量數(shù)據(jù)。它提供了一個(gè)分布式多租戶(hù)能力的全文搜索引擎,具有高度的可擴(kuò)展性和實(shí)時(shí)性。

添加依賴(lài)

在Spring Boot項(xiàng)目中添加ElasticSearch的依賴(lài)。在pom.xml文件中添加以下依賴(lài)項(xiàng):

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>

配置ElasticSearch

application.properties文件中配置ElasticSearch連接信息:

spring.elasticsearch.rest.uris=http://localhost:9200

創(chuàng)建實(shí)體類(lèi)

創(chuàng)建一個(gè)名為Article.java的實(shí)體類(lèi):

package com.example.demo;

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

@Document(indexName = "articles")
public class Article {

    @Id
    private String id;
    private String title;
    private String content;

    // Getters and setters
}

創(chuàng)建Repository接口

創(chuàng)建一個(gè)名為ArticleRepository.java的接口,繼承ElasticsearchRepository

package com.example.demo;

import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;

import java.util.List;

public interface ArticleRepository extends ElasticsearchRepository<Article, String> {
    List<Article> findByTitleContaining(String title);
}

創(chuàng)建服務(wù)層

創(chuàng)建一個(gè)名為ArticleService.java的服務(wù)類(lèi):

package com.example.demo;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class ArticleService {

    @Autowired
    private ArticleRepository articleRepository;

    public Article saveArticle(Article article) {
        return articleRepository.save(article);
    }

    public List<Article> findArticlesByTitle(String title) {
        return articleRepository.findByTitleContaining(title);
    }
}

創(chuàng)建控制層

創(chuàng)建一個(gè)名為ArticleController.java的控制器類(lèi):

package com.example.demo;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/articles")
public class ArticleController {

    @Autowired
    private ArticleService articleService;

    @PostMapping
    public Article saveArticle(@RequestBody Article article) {
        return articleService.saveArticle(article);
    }

    @GetMapping
    public List<Article> findArticles(@RequestParam String title) {
        return articleService.findArticlesByTitle(title);
    }
}

運(yùn)行ElasticSearch

確保ElasticSearch已經(jīng)在本地運(yùn)行。如果還沒(méi)有安裝ElasticSearch,可以從ElasticSearch官網(wǎng)下載并安裝。

測(cè)試搜索功能

啟動(dòng)Spring Boot應(yīng)用后,可以通過(guò)以下API進(jìn)行測(cè)試:

保存文章:POST /articles,請(qǐng)求體示例:

{
    "title": "Spring Boot with ElasticSearch",
    "content": "Integrating ElasticSearch with Spring Boot..."
}

搜索文章:GET /articles?title=Spring,你將會(huì)得到包含“Spring”關(guān)鍵字的文章列表。

結(jié)論

通過(guò)本文的學(xué)習(xí),你已經(jīng)掌握了如何在Spring Boot中集成ElasticSearch,并實(shí)現(xiàn)基本的搜索功能。

到此這篇關(guān)于Spring Boot 集成ElasticSearch實(shí)現(xiàn)搜索功能的文章就介紹到這了,更多相關(guān)Spring Boot ElasticSearch搜索內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot 鉤子接口的實(shí)現(xiàn)代碼

    SpringBoot 鉤子接口的實(shí)現(xiàn)代碼

    本文主要介紹了SpringBoot 鉤子接口,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08
  • 重寫(xiě)Java中的equals方法介紹

    重寫(xiě)Java中的equals方法介紹

    這篇文章主要介紹了重寫(xiě)Java中的equals方法介紹,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • Java SE求解漢諾塔問(wèn)題的示例代碼

    Java SE求解漢諾塔問(wèn)題的示例代碼

    漢諾塔問(wèn)題是一個(gè)經(jīng)典的問(wèn)題。漢諾塔(Hanoi Tower),又稱(chēng)河內(nèi)塔,源于印度一個(gè)古老傳說(shuō)。本文將用Java SE求解這一問(wèn)題,感興趣的可以學(xué)習(xí)一下
    2022-03-03
  • Java之如何獲取泛型參數(shù)

    Java之如何獲取泛型參數(shù)

    在Java開(kāi)發(fā)中,獲取泛型參數(shù)一般有兩種方法:第一種是通過(guò)JDK自帶的API,主要利用反射機(jī)制來(lái)獲取類(lèi)的泛型信息;第二種方法是借助Spring框架提供的GenericTypeResolver工具類(lèi),這種方式更加簡(jiǎn)便,這兩種方法都能有效地幫助開(kāi)發(fā)者在運(yùn)行時(shí)獲取到泛型參數(shù)
    2024-09-09
  • struts升級(jí)到2.5.2遇到的問(wèn)題及解決方案(推薦)

    struts升級(jí)到2.5.2遇到的問(wèn)題及解決方案(推薦)

    原來(lái)的版本是2.3.x,由于安全原因需要升級(jí)到2.5.2。但是在升級(jí)過(guò)程中遇到各種各樣的問(wèn)題,下面小編給大家?guī)?lái)了struts升級(jí)到2.5.2遇到的問(wèn)題及解決方案,需要的朋友參考下吧
    2016-11-11
  • JavaWeb中struts2實(shí)現(xiàn)文件上傳下載功能實(shí)例解析

    JavaWeb中struts2實(shí)現(xiàn)文件上傳下載功能實(shí)例解析

    這篇文章主要介紹了JavaWeb中struts2文件上傳下載功能的實(shí)現(xiàn),在Web應(yīng)用系統(tǒng)開(kāi)發(fā)中,文件上傳和下載功能是非常常用的功能,需要的朋友可以參考下
    2016-05-05
  • 詳解Eclipse安裝SVN插件的兩種方法

    詳解Eclipse安裝SVN插件的兩種方法

    這篇文章主要介紹了詳解Eclipse 安裝 SVN 插件的兩種方法,詳細(xì)的介紹了這兩種安裝方法,具有一定的參考價(jià)值,有興趣的可以了解一下
    2018-01-01
  • SpringBoot異步實(shí)現(xiàn) 的8種方式

    SpringBoot異步實(shí)現(xiàn) 的8種方式

    在同步操作中,執(zhí)行到?發(fā)送短信?的時(shí)候,我們必須等待這個(gè)方法徹底執(zhí)行完才能執(zhí)行?贈(zèng)送積分?這個(gè)操作,如果?贈(zèng)送積分?這個(gè)動(dòng)作執(zhí)行時(shí)間較長(zhǎng),發(fā)送短信需要等待,這就是典型的同步場(chǎng)景,這篇文章主要介紹了SpringBoot異步實(shí)現(xiàn) 的8種方式,需要的朋友可以參考下
    2023-11-11
  • java二叉查找樹(shù)的實(shí)現(xiàn)代碼

    java二叉查找樹(shù)的實(shí)現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了java二叉查找樹(shù)的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found的解決方案(親測(cè)可用)

    Plugin ‘org.springframework.boot:spring-boot-maven-plug

    這篇文章給大家介紹了Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found的解決方案,親測(cè)可用,文中給出了兩種解決方法,需要的朋友可以參考下
    2024-01-01

最新評(píng)論

阜宁县| 宁波市| 枣庄市| 福安市| 麻栗坡县| 册亨县| 黑龙江省| 德令哈市| 体育| 兴化市| 保康县| 横山县| 烟台市| 余姚市| 高淳县| 新绛县| 常山县| 淮南市| 恩平市| 会宁县| 徐水县| 安泽县| 苗栗市| 瓮安县| 年辖:市辖区| 开远市| 成武县| 华宁县| 新营市| 甘泉县| 治多县| 吉隆县| 玉龙| 屏东县| 洪江市| 临武县| 开原市| 怀安县| 梓潼县| 会东县| 唐山市|