Springboot-data-es的集成demo

 概述

1.1 概述

本项目整合了springboot 2.1.4与spring-data ,es的集成。实现简单的添加、查询操作。

使用的方式主要有两种: 
1. 一种是经过SpringData封装过的,直接在 dao 接口继承 ElasticsearchRepository 即可 

  2.一种是经Spring封装过的,直接在 Service/Controller 中引入该 ElasticsearchTemplate   即可如:

@Autowired

ElasticsearchTemplate   elasticsearchTemplate;

注意SpringBoot 1.5.1.RELEASE和Spring Data Elasticsearch 2.10.RELEASE仅支持ElasticSearch 2.4.0。他们不支持最新版本的ElasticSearch 5.x版本。

总之:注意三者之间的版本对应关系

第二章 项目操作流程

2.1 创建项目

在idea中使用maven创建一个springboot-data-es项目,结构如下:

Springboot-data-es的集成demo_第1张图片

2.2 配置pom文件

    2.2.1 配置springboot的依赖

Springboot-data-es的集成demo_第2张图片

     2.2.2 配置data、es的依赖

Springboot-data-es的集成demo_第3张图片

2.3 配置es的配置文件

在application配置文件配置es的index,type,ip等连接信息。

配置此项目的服务端口为5901,来看一下cluster-nodes,这里如果直接注释掉,不配置nodes,那么默认就是本机!如果要使用远程服务器,或者局域网服务器,那就需要在这里配置IP:PORT。 
可以配置多个,以逗号分隔,相当于集群。cluster-name如果想改为其他,那就需要在安装ElasticSearch时编辑配置文件,设置name。配置好yml后,就可以直接使用template了,嗯,就是这么简单! 
我们在Test类里,可以直接这么写:

@Autowired
ElasticsearchTemplate elasticsearchTemplate;

Springboot-data-es的集成demo_第4张图片

2.4 配置获取配置参数文件

2.4.1 配置获取配置文件的工具类

Springboot-data-es的集成demo_第5张图片

2.5 定义javabean

2.5.1 和数据库映射的javabean

   定义es的数据结构的映射javabean,程序启动时候会自动创建mappiing(前提是各个字段属性都加了@Field注解),否则只建type,index。没有mapping

加上了@Document注解之后,默认情况下这个实体中所有的属性都会被建立索引、并且分词

id(需要添加@Id注解,或会自动识别名称为id的字段为id,其余字段没有限制)

// SpringBoot启动时会自动创建映射,但要注意如果已经存在相同的index,必须先删除,
// 实体字段不加注解,创建一个没有数据结构的空mapping,通过添加数据后,mapping才会具有数据结构

Springboot-data-es的集成demo_第6张图片

2.5.2 和前台绑定回显的javabean

Springboot-data-es的集成demo_第7张图片

2.6 定义绑定的仓库类

创建bookRepository接口来继承ElasticsearchRepository从而达到连接es的实体类的目的

2.7 dao,service层逻辑

2.7.1 实现查询操作

Springboot-data-es的集成demo_第8张图片

2.7.2 实现添加操作

Springboot-data-es的集成demo_第9张图片

 

2.8 controller层逻辑

2.8.1 添加操作

Springboot-data-es的集成demo_第10张图片

2.8.2 查询操作

Springboot-data-es的集成demo_第11张图片

2.9 启动类

Springboot-data-es的集成demo_第12张图片

2.10 页面访问

2.10.1 实现添加操作

http://localhost:5901/es/test/add?id=103&author=meboth&title=mibike&price=456&createDate=2019-05-12%2012:12:12

Springboot-data-es的集成demo_第13张图片

2.10.2 实现查询操作

 

项目网盘路径:esdemo案例/

Springboot-data-es的集成demo_第14张图片

你可能感兴趣的:(elasticsearch,大数据,springboot)