Springboot-data-es的集成demo

该博客介绍了Spring Boot 2.1.4与Spring Data、Elasticsearch的集成项目,实现简单添加、查询操作。阐述了两种使用方式,强调三者版本对应关系。详细说明了项目操作流程,包括创建项目、配置文件、定义JavaBean等,还给出页面访问的添加和查询操作示例。

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

 概述

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,其余字段没有限制)

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值