学习使用Spring Data Elasticsearch,可以先了解一下Elasticsearch基础使用:基础使用
为什么Elasticsearch给我们提供了Java客户端,我们还要学习Spring Data Elasticsearch?
因为Elasticsearch提供的Java客户端有一些地方不太方便,
- 很多地方需要自己拼接字符串
- 需要自己将对象序列化成json存储
- 查询结果也需要自己反序列化。
所以我们今天去学习一下 Spring Data Elasticsearch。
一、Spring Data Elasticsearch 介绍
Spring Data Elasticsearch是Spring Data项目下的一个子模块。
Spring Data Elasticsearch是Spring Data项目下的一个子模块。
查看 Spring Data的官网:http://projects.spring.io/spring-d
Spring Data的使命是为数据访问提供熟悉且一致的基于Spring的编程模型,同时仍保留底层数据存储的特殊特性。
它使得使用数据访问技术,关系数据库和非关系数据库,map-reduce框架和基于云的数据服务变得容易。这是一个总括项目,其中包含许多特定于给定数据库的子项目。这些令人兴奋的技术项目背后,是由许多公司和开发人员合作开发的。
Spring Data 的使命是给各种数据访问提供统一的编程接口,不管是关系型数据库(如MySQL),还是非关系数据库(如Redis),或者类似Elasticsearch这样的索引数据库。从而简化开发人员的代码,提高开发效率。
包含很多不同数据操作的模块:
Spring Data Elasticsearch的页面:https://projects.spring.io/spring-data-elasticsearch/
特征:
-
支持Spring的基于
@Configuration
的java配置方式,或者XML配置方式 -
提供了用于操作ES的便捷工具类
ElasticsearchTemplate
。包括实现文档到POJO之间的自动智能映射。 -
利用Spring的数据转换服务实现的功能丰富的对象映射
-
基于注解的元数据映射方式,而且可扩展以支持更多不同的数据格式
-
根据持久层接口自动生成对应实现方法,无需人工编写基本操作代码(类似mybatis,根据接口自动得到实现)。当然,也支持人工定制查询
二、快速入门
创建一个maven工程,然后添加依赖,修改配置,创建启动类:
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.yuanxion.elasticsearch</groupId>
<artifactId>yuanxion-elasticsearch</artifactId>
<version>1.0.0-SNAPSHOT</version>
<name>elasticsearch</name>
<description>Demo project for Spring Boot</descript