Elasticsearch集成之(Spring Data Elasticsearch)

news2024/9/28 21:26:22

Elasticsearch集成之(Spring Data Elasticsearch)

1、Spring Data 框架介绍

Spring Data 是一个用于简化数据库、非关系型数据库、索引库访问,并支持云服务的开源框架。其主要目标是使得对数据的访问变得方便快捷,并支持 map-reduce 框架和云计算数据服务。 Spring Data 可以极大的简化 JPA(Elasticsearch…)的写法,可以在几乎不用写实现的情况下,实现对数据的访问和操作。除了 CRUD 外,还包括如分页、排序等一些常用的功能。

Spring Data 的官网:https://spring.io/projects/spring-data

在这里插入图片描述

2、Spring Data Elasticsearch 介绍

Spring Data Elasticsearch 基于 spring data API 简化 Elasticsearch 操作,将原始操作Elasticsearch 的客户端 API 进行封装 。Spring Data Elasticsearch 项目提供了与 Elasticsearch 搜索引擎的集成。Spring Data Elasticsearch的关键功能领域是以POJO为中心的模型,用于与Elastichsearch文档进行交互,并轻松编写存储库样式的数据访问层。

官方网站:https://spring.io/projects/spring-data-elasticsearch/

在这里插入图片描述

3、Spring Data Elasticsearch 版本对比

在这里插入图片描述
目前最新 springboot 对应 Elasticsearch7.17.8,Spring boot2.3.x 一般可以兼容 Elasticsearch7.x

4、框架集成

4.1、创建Maven项目

在这里插入图片描述

4.2、修改 pom 文件,增加依赖关系

在这里插入图片描述

4.3、增加配置文件

在这里插入图片描述

4.4、SpringBoot 主程序

在这里插入图片描述

4.5、数据实体类

在这里插入图片描述

4.6、配置类

ElasticsearchRestTemplate 是 spring-data-elasticsearch 项目中的一个类,和其他 spring 项目中的 template类似。

在新版的 spring-data-elasticsearch 中,ElasticsearchRestTemplate 代替了原来的ElasticsearchTemplate。

原因是 ElasticsearchTemplate 基于 TransportClient,TransportClient 即将在 8.x 以后的版本中移除。所以,我们推荐使用 ElasticsearchRestTemplate。

ElasticsearchRestTemplate 基 于 RestHighLevelClient 客 户 端 的 。 需 要 自 定 义 配 置 类 , 继 承
AbstractElasticsearchConfiguration,并实现 elasticsearchClient()抽象方法,创建 RestHighLevelClient 对象。

在这里插入图片描述

4.7、DAO 数据访问对象

在这里插入图片描述

4.8、实体类映射操作

在这里插入图片描述

4.9、索引操作

在这里插入图片描述

4.10、文档操作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.11、文档搜索

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、源码下载

https://gitee.com/micai-code/es7.8.0-spring-data-elasticsearch.git

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/381550.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

php宝塔搭建部署实战织梦响应式人力资源网站模板源码

大家好啊,我是测评君,欢迎来到web测评。 本期给大家带来一套php开发的织梦响应式人力资源网站模板源码。感兴趣的朋友可以自行下载学习。 技术架构 PHP7 nginx mysql5.7 JS CSS HTMLcnetos7以上 宝塔面板 文字搭建教程 下载源码,宝塔…

线下实践阿里云:「 云原生技术实践营 - 容器微服务专场 」

一、前言 自己在杭州工作和生活也有将近10年,由于有些前同事和朋友在阿里上班,也过去玩过几次。在印象中,作为联谊公司,还和阿里组织过一些小规模的活动,比如相亲和篮球比赛。 所以,对阿里杭州的滨江园区和…

2023年最新人工智能入门指南(学习清单)

ChatGPT最近很火,为了帮助想入门人工智能的小伙伴们准备了一份超详细的学习清单 前言 为帮助大家快速入门机器学习、深度学习,根据我自己多年的学习和工作经验,总结了这份保姆级的学习清单,让大家在学习时不走弯路。 这份清单主…

抽象队列同步器AQS应用lock详解

目录 AQS应用之Lock 并发之父 ReentrantLock 整体实现思路 AQS具备特性 同步等待队列 条件等待队列 AQS源码分析 AQS应用之Lock 并发之父 生平不识Doug Lea,学懂并发也枉然 Java并发编程核心在于java.util.concurrent包而juc当中的大多数同步器实现都是围绕…

linux 环境 postgresql + postgis 安装

postgis 是 postgresql 的一个扩展插件,具有强大的空间计算功能,很适合用于地图系统。本次演示使用的操作系统为CentOS Linux release 7.9.2009 (Core)postgis 下载登录 postgis 的官方网站:http://postgis.net/下载符合 postgresql 数据库版…

ShardingSphere官方文档感悟

ShardingSphere官方文档感悟什么是ShardingSphereShardingSphere-JDBCShardingSphere-Proxy功能产品优势设计哲学连接增强可插拔L1内核层L2功能层L3生态层部署形态ShardingSphere-JDBC独立部署ShardingSphere-Proxy独立部署混合部署架构官网地址: https://shardings…

HTTP的前世今生

承接上文HTTP请求的详细过程http协议版本历史http造就了万维网,http成就了互联网第三次信息技术革命并且影响着即将到来的第四次人工智能技术革命。1989年第一个http协议,http0.9发布,发明了万维网,创建了世界第一个网页浏览器&am…

软件测试面试必杀篇:【2023软件测试面试八股文宝典】

800道软件测试面试真题,高清打印版打包带走,横扫软件测试面试高频问题,涵盖测试理论、Linux、MySQL、Web测试、接口测试、App测试、Python、Selenium、性能测试、LordRunner、计算机网络、数据结构与算法、逻辑思维、人力资源等模块面试题&am…

Jinja2----------过滤器的使用、控制语句

目录 1.过滤器的使用 1.过滤器和测试器 2.过滤器 templates/filter.html app.py 效果 3.自定义过滤器 app.py templates/filter.html 效果 2.控制语句 1.if app.py templates/control.html 2.for app.py templates/control.htm 1.过滤器的使用 1.过滤器和测…

在linux中配置环境变量

1. 环境变量的作用 环境变量是操作系统在运行的时候,记录的一些关键性信息,用于辅助系统的运行。 在linux中执行 evn 命令即可查看当前系统中记录的环境变量。 环境变量是一种KeyValue结构 2. 符号$ 在linux系统中,$,用于取“…

【C++】STL——list的模拟实现

list的模拟实现 文章目录list的模拟实现一、list三个基本类的模拟实现总览二、节点类接口实现模拟实现构造函数三、迭代器类接口实现1.正向迭代器默认成员函数构造函数六种运算符重载 */->//--/!/2.反向迭代器四、list类接口实现1.默认成员函数1.1.构造函数1.2.析构函数1.3.…

Hive3.1.3安装部署_最小化部署_元数据MySQL部署_Hiveserver2部署_metastore部署---大数据之Hive工作笔记0012

hbase 实时分析 hive 离线分析 这里是新版本的hive3.1.3的安装 关于hive的原理之前的博客已经详细说了 可以看到上面是hive运行的原理图 词法分析 语法分析

P6软件如何设置权重体系

卷首语 同时,由于项目包含不同专业、不同类型的活动,需通过建立科学的测量体系以将底层活动的进度逐层汇总从而获得项目总体进度数据。 权重体系的确定 进度检测权重体系的建立过程,即是确定进度检测层级中的每项元素对其上一级元素进度的…

Github每日精选(第102期): PyGWalker将panda数据帧转换为Tableau风格的用户界面,用于可视化分析

PyGWalker可以简化Jupyter笔记本的数据分析和数据可视化工作流程,方法是将panda数据帧转换为Tableau风格的用户界面进行可视化探索。 PyGWalker(发音像“Pig Walker”,只是为了好玩)被命名为“Graphic Walker的Python绑定”的缩写…

ChIP-seq 分析:Peak 注释与可视化(9)

1. 基因注释 到目前为止,我们一直在处理对应于转录因子结合的 ChIPseq 峰。顾名思义,转录因子可以影响其靶基因的表达。 转录因子的目标很难单独从 ChIPseq 数据中确定,因此我们通常会通过一组简单的规则来注释基因的峰: 如果峰与…

二月安全月报 | 45亿条快递数据疑泄露,Twitter史上最大规模宕机

为了让大家更全面的了解网络安全的风险,顶象针对每月值得关注的安全技术和事件进行盘点总结。 国内安全热点 👉业务安全 男子注册上万账号薅羊毛获利13万 近日,上海市,由闵行区人民检察院提起公诉的刘某某诈骗一案开庭审理&…

Stream流和不可变集合

一、不可变集合 什么是不可变集合? 不可变集合,就是不可被修改的集合。 集合的数据项在创建的时候提供,并且在整个生命周期中都不可改变。否则报错。 为什么要创建不可变集合? 如果某个数据不能被修改,把它防御性地拷…

Apache Airflow Hive Provider 任意Hive命令执行漏洞

漏洞描述 Apache Airflow 是一个以编程方式管理 workflow 的平台,Airflow Hive Provider 是一个使用 SQL 进行读取、写入和管理分布式存储中的大型数据集的工具包,_prepare_cli_cmd 方法用于创建 Hive 连接命令列表。 由于 Airflow Hive Provider 5.1.…

论文阅读:MPViT : Multi-Path Vision Transformer for Dense Prediction

中文标题:基于多路视觉Transformer的密集预测 提出问题 创新点 提出了一种具有多路径结构的多尺度嵌入方法,以同时表示密集预测任务的精细和粗糙特征。全局到局部的特征交互(GLI),以同时利用卷积的局部连通性和转换器…

汽车刹车传感

一、方案概述:刹车传感器,作用于刹车系统的传感器类型,帮助驾驶人员判断刹车片的磨损情况,便于及时检修维护,保证制度系正常稳定工作。刹车片报警基本有两种,第一种是比较简单的机械报警,就是当…