Spring Data ElasticSearch 使用

本文介绍了Spring Data ElasticSearch的基础知识,包括它的简化ElasticSearch操作的功能,以及如何进行入门案例实践。从创建Maven工程,配置依赖,到编写DAO和Service,详细解释了如何利用Spring Data ElasticSearch进行索引和映射的创建,以及如何处理可能出现的错误。此外,还涵盖了CRUD操作和条件查询(分页)的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

9.1 Spring Data ElasticSearch 简介  

什么是 spring data elasticSearch ?  

Spring Data ElasticSearch 基于 spring data API 简化 elasticSearch 操作 , 将原始操作 elasticSearch 的客户端 API 进行封装  

官方网站:http://projects.spring.io/spring-data-elasticsearch/

 下载官方规范文档  

Maven 坐标  

[AppleScript] 纯文本查看 复制代码

?

01

02

03

04

05

06

07

08

09

10

11

12

13

<dependencies>

 

    <dependency>

 

        <groupId>org.springframework.data</groupId>

 

        <artifactId>spring-data-elasticsearch</artifactId>

 

        <version>2.0.4.RELEASE</version>

 

    </dependency>

 

</dependencies>

9.2 Spring Data ElasticSearch 入门案例  

1、 创建 maven 工程

2、 基于 maven 导入坐标  

Spring data elasticsearch 对 elasticsearch api 简化封装  

导入 spring-test 和 junit 编写测试用例  

         Slf4j-log4j 日志包  

3、 在 src/main/resources 下建立 applicationContext.xml 和 log4j.properties   引入 spring data elasticsearch 名称空间  

4、 创建 domain、dao、service 包  

5、 编写 DAO  

编写 DAO 自动操作 elasticsearch 继承 ElasticsearchRepository 接口  

配置 applicationContext.xml  

6、 编写 Service  

配置 applicationContext.xml  

7、 配置 applicationContext.xml 连接 elasticsearch  

8、 索引和映射如何创建 --- 基于 spring data elasticsearch 注解  在使用 spring data elasticsearch 开发, 需要将索引和映射信息 配置实体类上面  

@Document 文档对象 (索引信息、文档类型 )

@Id 文档主键 唯一标识  

@Field 每个文档的字段配置(类型、是否分词、是否存储、分词器 )

通过 ElasticsearchTemplate 创建索引和添加映射  

错误: 导包冲突  

java.lang.NoClassDefFoundError: org/springframework/core/ResolvableTypeProvider

解决: spring 导包版本要一致  

错误: MapperParsingException[No type specified for field [title]]

解决: 配置类型

9、 Spring data Search CRUD 操作  

CurdRepository 提供增删改查 save、delete、findAll 、findOne  

         PagingAndSortingRepository 提供分页和排序  

10、 条件查询 (分页)

查询标题方法  

分页条件查询,只需要在查询方法中,添加 Pageable 对象排序条件查询,只需要在查询方法中,添加 Sort 对象  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值