9.SpringBoot整合SpringDataElasticSearch

SpringBoot整合SpringDataElasticSearch

1.启动ES服务器
2.导入ElasticSearch起步依赖

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

3.在配置文件中配置ES集群名称和服务器的地址
在这里插入图片描述
4.创建实体类和Dao接口

//指定类对应type名称,以及所在的索引
@Document(indexName = "blog1",type = "article")
public class Article {
   //表示id属性
   @Id
   /*
   index : 是否索引
   store : 是否存储
   type : 指定类型
   analyzer : 指定存储时的分词器
   searchAnalyzer : 指定查询该字段时,查询条件使用的分词器
    */
   @Field(index = false,store = true,type = FieldType.Long)
   private Long id;
   @Field(index = true,store = true,analyzer = "ik_smart",searchAnalyzer = "ik_smart",type = FieldType.Text)
   private String title;
   @Field(index = true,store = true,analyzer = "ik_smart",searchAnalyzer = "ik_smart",type = FieldType.Text)
   private String content;

Dao接口:
在这里插入图片描述5.测试在这里插入图片描述运行时避免与redis发生冲突
在这里插入图片描述

### 整合 Elasticsearch 到 Spring Boot 项目 为了在 Spring Boot 项目中整合 Elasticsearch,需遵循特定的步骤来设置环境并调整配置文件。当使用 `spring-boot-starter-data-elasticsearch` 启动器时,可以通过定义相应的仓库接口轻松地执行 CRUD 操作。 #### 修改 Configuration 文件 对于配置文件而言,推荐采用 YAML 格式的 `application.yml` 来替代传统的 `.properties` 文件形式[^3]。以下是针对 Elasticsearch 的基本配置实例: ```yaml spring: elasticsearch: rest: uris: http://1xx.xxx.xxx.250:9200 ``` 此片段指定了连接到 Elasticsearch 实例所需的 URI 地址。确保替换示例 IP 和端口号为实际运行 ES 节点的位置信息。 #### 创建 Repository 接口 接着,在应用程序内创建一个继承自 `ElasticsearchRepository<T,ID>` 或者更通用版本 `ElasticsearchCrudRepository<T,ID>` 的接口用于操作指定类型的文档记录[^1][^2]。这里 T 表示映射至索引内的实体类;ID 是唯一标识符的数据类型(通常是字符串或整数)。例如: ```java package com.pro.tools.elasticsearch.dao; import com.pro.tools.elasticsearch.vo.Message; import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; public interface MessageRepository extends ElasticsearchRepository<Message, String> { } ``` 上述代码展示了如何声明一个名为 `MessageRepository` 的接口以处理消息类型的持久化逻辑。 #### 更新 data.elasticsearch 字段 如果要更改与 `data.elasticsearch` 相关的具体字段,则取决于具体的应用场景以及所使用的实体模型结构。通常情况下,这些属性会在对应的 Java 类里通过注解方式标注出来,比如利用 `@Document(indexName="messages")` 设置索引名称,或是借助 `@Field(type=FieldType.Text)` 定义字段特性等。因此,任何关于修改此类元数据的操作都应集中在实体 Bean 上完成而不是直接改动配置项本身。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值