如何使用Spring Boot来整合ElasticSearch

本文章介绍,我们将学习如何使用Spring Boot来整合ElasticSearch。

1. 安装ElasticSearch

首先,我们需要安装并启动ElasticSearch。你可以从ElasticSearch官方网站(https://www.elastic.co/downloads/elasticsearch)下载并安装ElasticSearch。安装完成后,使用命令行启动ElasticSearch。
在这里插入图片描述

安装好后,点击elasticsearch.bat
在这里插入图片描述

启动成功后,在浏览器输入框输入localhost:9200
页面显示:

2. 创建Spring Boot项目

下一步,我们将创建一个Spring Boot项目。你可以使用Spring Initializr(https://start.spring.io/)来快速创建一个基本的Spring Boot项目。

3. 添加ElasticSearch依赖

打开项目的pom.xml文件,并添加以下依赖:

 <dependency>
     <groupId>org.elasticsearch.client</groupId>
     <artifactId>elasticsearch-rest-high-level-client</artifactId>
 </dependency>

这样就可以将ElasticSearch的依赖添加到项目中。

4. 配置ElasticSearch连接

在application.properties文件中添加以下配置:

spring:
  elasticsearch:
    ip: 127.0.0.1
    port: 9200

这里配置了ElasticSearch集群的名称和节点。

5. 创建实体类

创建一个实体类,用于表示ElasticSearch中的文档。

@Document(indexName = "articles", type = "article")
public class Article {
    @Id
    private String id;
    private String title;
    private String content;
}

这里使用了Spring Data的注解,表明这个实体类对应了ElasticSearch中的"articles"索引下的"article"类型。

6. 创建ElasticSearch仓库

创建一个继承自ElasticsearchRepository的接口,用于与ElasticSearch进行交互。

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

通过继承ElasticsearchRepository接口,我们可以直接使用一些已经实现好的方法来进行文档的增删改查操作。

7. 使用ElasticSearch仓库

在需要使用ElasticSearch的地方注入ArticleRepository,并使用它进行文档操作。

@RestController
public class ArticleController {
    @Autowired
    private ArticleRepository articleRepository;

    @PostMapping("/articles")
    public Article addArticle(@RequestBody Article article) {
        return articleRepository.save(article);
    }

    @GetMapping("/articles/{title}")
    public List<Article> getArticlesByTitle(@PathVariable String title) {
        return articleRepository.findByTitle(title);
    }
}

在上面的例子中,我们使用了PostMapping和GetMapping注解来定义了两个接口,分别用于添加和查询文章。在方法中,我们使用了ArticleRepository来操作ElasticSearch中的文档。

8. 测试

启动应用程序,并使用POST和GET请求来测试添加和查询文章的功能。
接口测试:http://localhost:8080/articles

通过访问上述API,我们可以将一篇文章添加到ElasticSearch中,并根据标题查询文章。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT_WEH_coder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值