Springboot-data-es的集成demo

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011066470/article/details/89968673

 概述

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案例/

猜你喜欢

转载自blog.csdn.net/u011066470/article/details/89968673