欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot集成ElasticSearch實現搜索功能

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

引言

在現代Web應用中,搜索功能是一個非常重要的特性。ElasticSearch是一個分布式的搜索和分析引擎,能夠快速地存儲、搜索和分析大量數據。Spring Data ElasticSearch提供了與ElasticSearch集成的簡便方式。本文將介紹如何在Spring Boot中集成ElasticSearch,實現基本的搜索功能。

什么是ElasticSearch

ElasticSearch是一個基于Lucene的開源搜索引擎,支持全文搜索、結構化搜索和分析,并能夠處理海量數據。它提供了一個分布式多租戶能力的全文搜索引擎,具有高度的可擴展性和實時性。

添加依賴

在Spring Boot項目中添加ElasticSearch的依賴。在pom.xml文件中添加以下依賴項:

<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)建實體類

創(chuàng)建一個名為Article.java的實體類:

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)建一個名為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)建服務層

創(chuàng)建一個名為ArticleService.java的服務類:

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)建一個名為ArticleController.java的控制器類:

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);
    }
}

運行ElasticSearch

確保ElasticSearch已經在本地運行。如果還沒有安裝ElasticSearch,可以從ElasticSearch官網下載并安裝。

測試搜索功能

啟動Spring Boot應用后,可以通過以下API進行測試:

保存文章:POST /articles,請求體示例:

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

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

結論

通過本文的學習,你已經掌握了如何在Spring Boot中集成ElasticSearch,并實現基本的搜索功能。

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

相關文章

  • Mybatis接口Mapper內的方法為啥不能重載嗎

    Mybatis接口Mapper內的方法為啥不能重載嗎

    這篇文章主要介紹了Mybatis接口Mapper內的方法為啥不能重載嗎,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • Java使用正則獲取括號里面的內容

    Java使用正則獲取括號里面的內容

    這篇文章主要介紹了Java使用正則獲取括號里面的內容問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Spring請求路徑帶參數URL使用注解的寫法說明

    Spring請求路徑帶參數URL使用注解的寫法說明

    這篇文章主要介紹了Spring請求路徑帶參數URL使用注解的寫法說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • SchedulingConfigurer實現動態(tài)定時,導致ApplicationRunner無效解決

    SchedulingConfigurer實現動態(tài)定時,導致ApplicationRunner無效解決

    這篇文章主要介紹了SchedulingConfigurer實現動態(tài)定時,導致ApplicationRunner無效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • SpringBoot+React實現計算個人所得稅

    SpringBoot+React實現計算個人所得稅

    本文將以個人所得稅的計算為例,使用React+SpringBoot+GcExcel來實現這一功能,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的小伙伴可以了解下
    2023-09-09
  • 如何基于回調實現Java的異步調用

    如何基于回調實現Java的異步調用

    這篇文章主要介紹了如何基于回調實現Java的異步調用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • 基于Java Tomcat和激活MyEclips的深入理解

    基于Java Tomcat和激活MyEclips的深入理解

    本篇文章是對Java中的Tomcat和激活MyEclips進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • 23種設計模式(15)java解釋器模式

    23種設計模式(15)java解釋器模式

    這篇文章主要為大家詳細介紹了23種設計模式之java解釋器模式,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Java編程泛型限定代碼分享

    Java編程泛型限定代碼分享

    這篇文章主要介紹了Java編程泛型限定的相關內容,具有一定參考價值,需要的朋友可以了解下。
    2017-10-10
  • jar包中替換指定的class文件方法詳解

    jar包中替換指定的class文件方法詳解

    這篇文章主要為大家介紹了jar包中替換指定的class文件方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11

最新評論