当前位置: 首页 > news >正文

SpringBoot整合ElasticSearch实现CRUD操作

本文来说下SpringBoot整合ES实现CRUD操作

文章目录

  • 概述
  • 项目搭建
  • ES简单的crud操作
  • 本文小结


概述

SpringBoot支持两种技术和es交互。一种的jest,还有一种就是SpringData-ElasticSearch。根据引入的依赖不同而选择不同的技术。反正作为spring全家桶,目前是以springdata为主流使用技术。直接导入spring-boot-starter-data-elasticsearch就可以了

在这里插入图片描述


项目搭建

由于es对springboot的版本有要求,最好按照官网要求来

在这里插入图片描述

es版本

在这里插入图片描述

搭建一个springboot程序来测试es的基本使用

在这里插入图片描述

引入es 的依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId><version>2.6.6</version>
</dependency>

注意这里要引入springBoot整合es的场景启动器。可以简单看下这个场景启动器里面都有啥依赖:

在这里插入图片描述


ES简单的crud操作

配置 application.yml

spring:elasticsearch:rest:uris: http://localhost:9200

创建一个测试的对象,article

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import java.util.Date;@Data
@AllArgsConstructor
@NoArgsConstructor
@Document(indexName = "article")
public class Article {@Idprivate String id;private String title;private String content;private Integer userId;private Date createTime;}

实现ElasticsearchRepository接口来实现增删改查操作

import cn.wideth.po.Article;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;/***** 实现ElasticsearchRepository* 接口来实现增删改查操作*/
public interface ArticleRepository extends ElasticsearchRepository<Article, String> {}

说明

下面可以使用这个 ArticleRepository 来操作 ES 中的 Article 数据。
我们这里没有手动创建这个 Article 对应的索引,由 elasticsearch 默认生成

下面的接口,使用了 Repository 整合 spring boot 对 es 数据进行插入、更新、查询、删除等操作。可以作为一个参考。

保存数据


本文小结

本文使用SpringBoot整合ElasticSearch来实现简单的CRUD操作

相关文章:

SpringBoot整合ElasticSearch实现CRUD操作

本文来说下SpringBoot整合ES实现CRUD操作 文章目录 概述项目搭建ES简单的crud操作本文小结 概述 SpringBoot支持两种技术和es交互。一种的jest&#xff0c;还有一种就是SpringData-ElasticSearch。根据引入的依赖不同而选择不同的技术。反正作为spring全家桶&#xff0c;目前是…...

香橙派--关于jammy-xfce-arm64.f12a43b3e629442a073a7236bf9166ce.tar.lz4的rootfs定制与镜像制作

使用 x64 的 Ubuntu22.04 电脑编译 Linux SDK&#xff0c;即 orangepi-build&#xff0c;支持在安装有 Ubuntu 22.04 的电脑上运行&#xff0c;所以下载 orangepi-build 前&#xff0c;请首先确保自己电脑已安装的 Ubuntu 版本是 Ubuntu22.04。查看电脑已安装的 Ubuntu 版本的命…...

前端八股文(HTML篇)一

目录 1.什么是DOCTYPE,有何用呢&#xff1f; 2.说说对html语义化的理解 3.src和href的区别&#xff1f; 4.title与h1的区别&#xff0c;b与strong的区别&#xff0c;i与em的区别&#xff1f; 5.什么是严格模式与混杂模式&#xff1f; 6.前端页面有哪三层构成&#xff0c;分…...

数据结构与算法python版本之线性结构之无序表抽象数据类型有序链表抽象数据类型和总结

我们知道&#xff0c;列表List是一种简单强大的数据集结构&#xff0c;提供了丰富的操作接口&#xff1b;但是并不是所有的编程语言都提供了List数据类型&#xff0c;有时候需要程序员自己实现。 那么什么是列表呐&#xff1f; 列表是一种数据项按照相对位置存放的数据集&…...

识别pdf中论文标题并重命名PDF名称(2024.1.2,第二次更新)判断标题中是否以空格结尾

63~66行增加语句&#xff0c;判断标题是否以空格结尾 83~85行增加语句&#xff0c;判断选句是否以空格结尾 import os import timeimport fitzdef find_largest_font_sentence(pdf_path):largest_font_size 0largest_font_sentence maxsize0# 打开PDF文件document fitz.ope…...

01.02作业

整理思维导图复习课上代码全局变量&#xff0c;int monster 10000;定义英雄类hero&#xff0c;受保护的属性string name&#xff0c;int hp,int attck&#xff1b;公有的无参构造&#xff0c;有参构造&#xff0c;虚成员函数 void Atk(){blood-0;}&#xff0c;法师类继承自英雄…...

WPF+Halcon 培训项目实战(11):HS组件封装

文章目录 前言相关链接项目专栏运行环境匹配图片封装组件新增类库项目选择依赖顺序并添加Nuget修改原本矩形方法运行结果&#xff1a; 对矩形进行抽象封装抽象基类矩形抽象改造 圆形抽象封装代码运行结果 前言 为了更好地去学习WPFHalcon&#xff0c;我决定去报个班学一下。原…...

VUE——IDEA 启动前端工程VS文件启动前端工程

IDEA 启动前端 目录 前言一、打开控制台二、输入npm install三、依赖下载完之后&#xff0c;输入npm run dev&#xff0c;运行前端项目1、IDEA启动前端工程2、文件目录启动前端工程 四、点击http://localhost:8080后续敬请期待 前言 启动已有的vue前端项目 一、打开控制台 选…...

自动驾驶论文

文章目录 一、Convolutional Social Pooling for Vehicle Trajectory Prediction二、QCNet&#xff1a;Query-Centric Trajectory Prediction三、VectorNet: Encoding HD Maps and Agent Dynamics from Vectorized Representation 一、Convolutional Social Pooling for Vehicl…...

Java经典框架之SpringDataJPA

SpringDataJPA Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机&#xff0c;Java 仍是企业和开发人员的首选开发平台。 课程内容的介绍 1. Spring整合Hibernate 2…...

向爬虫而生---Redis 基石篇3 <拓展List>

前言: 继上一篇向爬虫而生---Redis 基石篇2 &#xff1c;拓展Hash&#xff1e;-CSDN博客​​​​​​.往下继续---挖一挖list 正文: 在Redis中&#xff0c;列表&#xff08;List&#xff09;是一个常用的数据结构&#xff0c;尤其在爬虫应用中。例如&#xff0c;可以用列表实现…...

CSS渲染性能优化

✨ 专栏介绍 HTML/CSS专栏合集是一个涵盖HTML和CSS两个方面的栏目。HTML是一种标记语言&#xff0c;用于创建网页的结构和内容&#xff0c;而CSS是一种样式表语言&#xff0c;用于控制网页的外观和布局。 在HTML/CSS专栏合集中&#xff0c;我们将深入探讨HTML和CSS的基础知识…...

【C++入门】类和对象(完)

前言 在谈论C时&#xff0c;常常会涉及到一些高级特性和概念&#xff0c;比如初始化列表、static成员、友元、内部类、匿名对象等。这些概念在C编程中起着非常重要的作用&#xff0c;对于想要深入了解C语言的开发者来说&#xff0c;掌握这些知识是至关重要的。本文&#xff0c;…...

webshell检测方式深度剖析 --- Pixy系列二(数据流分析)

开篇 书接上文&#xff0c;这次我们来聊聊数据流分析&#xff0c;数据流分析的内容非常广泛&#xff0c;我们力求深入浅出通俗易懂&#xff0c;在简短的篇幅内将这一概念描述清楚。 简单来说&#xff0c;数据流分析是一种用来获取相关数据沿着程序执行路径流动的信息分析技术…...

[DAU-FI Net开源 | Dual Attention UNet+特征融合+Sobel和Canny等算子解决语义分割痛点]

文章目录 概要I Introduction小结 概要 提出的架构&#xff0c;双注意力U-Net与特征融合&#xff08;DAU-FI Net&#xff09;&#xff0c;解决了语义分割中的挑战&#xff0c;特别是在多类不平衡数据集上&#xff0c;这些数据集具有有限的样本。DAU-FI Net 整合了多尺度空间-通…...

使用Triton部署ONNX模型

介绍 适用于各种 AI 工作负载的推理&#xff1a;借助 NVIDIA Triton™&#xff0c;在任何处理器&#xff08;GPU、CPU 或其他&#xff09;上&#xff0c;对使用基于任何框架的&#xff0c;经过训练的机器学习模型或深度学习模型&#xff0c;进行推理部署。Triton 是 NVIDIA AI…...

Python访问ElasticSearch

ElasticSearch是广受欢迎的NoSQL数据库&#xff0c;其分布式架构提供了极佳的数据空间的水平扩展能力&#xff0c;同时保障了数据的可靠性&#xff1b;反向索引技术使得数据检索和查询速度非常快。更多功能参见官网介绍 https://www.elastic.co/cn/elasticsearch/ 下面简单罗列…...

Flutter 混合开发 - 动态下发 libflutter.so libapp.so

背景 最近在做包体积优化&#xff0c;在完成代码混淆、压缩&#xff0c;裁剪ndk支持架构&#xff0c;以及资源压缩&#xff08;如图片转webp、mp3压缩等&#xff09;后发现安装包的中占比较大的仍是 so 动态库依赖。 具体查看发现 libflutter.so 和 libapp.so 的体积是最大的&…...

Peter算法小课堂—动态规划

Peter推荐算法书&#xff1a;《算法导论》 图示&#xff1a; 目录 钢条切割 打字怪人 钢条切割 算法导论&#xff08;第四版&#xff09;第十四章第一节&#xff1a;钢条切割 题目描述&#xff1a; 给定一根长度为 n 英寸的钢条和一个价格表 &#xff0c;其中 i1,2,…,n …...

2022–2023学年2021级计算机科学与技术专业数据库原理 (A)卷

一、单项选择题&#xff08;每小题1.5分&#xff0c;共30分&#xff09; 1、构成E—R模型的三个基本要素是&#xff08; B &#xff09;。 A&#xff0e;实体、属性值、关系 B&#xff0e;实体、属性、联系 C&#xff0e;实体、实体集、联系 D&#xff0e;实体、实体…...

JeecgBoot低代码开发平台终极实战指南:从零开始构建企业级应用

JeecgBoot低代码开发平台终极实战指南&#xff1a;从零开始构建企业级应用 【免费下载链接】jeecg-boot jeecgboot/jeecg-boot 是一个基于 Spring Boot 的 Java 框架&#xff0c;用于快速开发企业级应用。适合在 Java 应用开发中使用&#xff0c;提高开发效率和代码质量。特点是…...

收藏!2026非科班/转行小白必看:3步切入AI大模型,月薪30w+实战路径

2026年的职场赛道&#xff0c;AI大模型依旧是绝对的“黄金风口”。 最新行业报告显示&#xff0c;AI相关岗位需求逆势增长37%&#xff0c;薪资领跑全行业&#xff0c;大厂校招起薪普遍突破25k。但一个残酷的现实是&#xff1a; 太多非科班、半路转行的程序员&#xff0c;还在门…...

如何用QuickRecorder解决macOS录屏痛点:高效专业的从入门到精通实践指南

如何用QuickRecorder解决macOS录屏痛点&#xff1a;高效专业的从入门到精通实践指南 【免费下载链接】QuickRecorder A lightweight screen recorder based on ScreenCapture Kit for macOS / 基于 ScreenCapture Kit 的轻量化多功能 macOS 录屏工具 项目地址: https://gitco…...

知识管理新范式:跨平台无缝迁移与团队协作效能提升指南

知识管理新范式&#xff1a;跨平台无缝迁移与团队协作效能提升指南 【免费下载链接】outline Outline 是一个基于 React 和 Node.js 打造的快速、协作式团队知识库。它可以让团队方便地存储和管理知识信息。你可以直接使用其托管版本&#xff0c;也可以自己运行或参与开发。源项…...

雀魂AI助手Akagi:5分钟搭建你的专属麻将教练

雀魂AI助手Akagi&#xff1a;5分钟搭建你的专属麻将教练 【免费下载链接】Akagi A helper client for Majsoul 项目地址: https://gitcode.com/gh_mirrors/ak/Akagi 你是否曾在雀魂游戏中面对复杂牌局不知所措&#xff1f;是否想提升麻将技巧却苦于没有专业指导&#xf…...

LazyVim终极指南:如何快速打造你的Neovim梦幻开发环境

LazyVim终极指南&#xff1a;如何快速打造你的Neovim梦幻开发环境 【免费下载链接】LazyVim Neovim懒人配置。 项目地址: https://gitcode.com/GitHub_Trending/la/LazyVim 你是否曾经因为Neovim配置的复杂性而望而却步&#xff1f;是否尝试过各种配置方案却始终找不到那…...

2. Linux桌面环境介绍

2. Liunx桌面环境介绍 桌面介绍终端设置 设置终端属性&#xff1a;字体快捷键&#xff1a; 新建终端&#xff08;ctrlaltN&#xff09;新建标签&#xff08;ctrlaltT&#xff09;背景和锁屏设置语言和输入法设置课后作业 系统开机、关机账户的注销、锁屏打开常用程序&#xff0…...

FModel:虚幻引擎资源解析的技术突破与实践指南

FModel&#xff1a;虚幻引擎资源解析的技术突破与实践指南 【免费下载链接】FModel Unreal Engine Archives Explorer 项目地址: https://gitcode.com/gh_mirrors/fm/FModel 在游戏开发与逆向工程领域&#xff0c;资源解析工具的选择直接影响工作效率与成果质量。当面对…...

告别Transformer?手把手复现SegNeXt语义分割模型(附PyTorch代码)

从零实现SegNeXt&#xff1a;用纯卷积架构挑战Transformer的语义分割霸主地位 在计算机视觉领域&#xff0c;语义分割技术正经历着一场静默的革命。当大多数研究者将目光聚焦于Transformer架构时&#xff0c;SegNeXt却用纯粹的卷积神经网络&#xff08;CNN&#xff09;设计刷新…...

基于vue+springboot框架的同城宠物照看数据可视化分析系统的设计与实现

目录技术选型与框架搭建核心功能模块设计开发阶段划分关键代码示例&#xff08;简化版&#xff09;测试与部署项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作技术选型与框架搭建 前端&#xff1a;Vue 3 TypeScript ECharts …...