第一章 概述
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项目,结构如下:
2.2 配置pom文件
2.2.1 配置springboot的依赖
2.2.2 配置data、es的依赖
2.3 配置es的配置文件
在application配置文件配置es的index,type,ip等连接信息。
配置此项目的服务端口为5901,来看一下cluster-nodes,这里如果直接注释掉,不配置nodes,那么默认就是本机!如果要使用远程服务器,或者局域网服务器,那就需要在这里配置IP:PORT。
可以配置多个,以逗号分隔,相当于集群。cluster-name如果想改为其他,那就需要在安装ElasticSearch时编辑配置文件,设置name。配置好yml后,就可以直接使用template了,嗯,就是这么简单!
我们在Test类里,可以直接这么写:
@Autowired
ElasticsearchTemplate elasticsearchTemplate;
2.4 配置获取配置参数文件
2.4.1 配置获取配置文件的工具类
2.5 定义javabean
2.5.1 和数据库映射的javabean
定义es的数据结构的映射javabean,程序启动时候会自动创建mappiing(前提是各个字段属性都加了@Field注解),否则只建type,index。没有mapping
加上了@Document注解之后,默认情况下这个实体中所有的属性都会被建立索引、并且分词
id(需要添加@Id注解,或会自动识别名称为id的字段为id,其余字段没有限制)
2.5.2 和前台绑定回显的javabean
2.6 定义绑定的仓库类
创建bookRepository接口来继承ElasticsearchRepository从而达到连接es的实体类的目的
2.7 dao,service层逻辑
2.7.1 实现查询操作
2.7.2 实现添加操作
2.8 controller层逻辑
2.8.1 添加操作
2.8.2 查询操作
2.9 启动类
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
2.10.2 实现查询操作
项目网盘路径:esdemo案例/