当前位置: 首页 > 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操作

http://www.lryc.cn/news/272023.html

相关文章:

  • 香橙派--关于jammy-xfce-arm64.f12a43b3e629442a073a7236bf9166ce.tar.lz4的rootfs定制与镜像制作
  • 前端八股文(HTML篇)一
  • 数据结构与算法python版本之线性结构之无序表抽象数据类型有序链表抽象数据类型和总结
  • 识别pdf中论文标题并重命名PDF名称(2024.1.2,第二次更新)判断标题中是否以空格结尾
  • 01.02作业
  • WPF+Halcon 培训项目实战(11):HS组件封装
  • VUE——IDEA 启动前端工程VS文件启动前端工程
  • 自动驾驶论文
  • Java经典框架之SpringDataJPA
  • 向爬虫而生---Redis 基石篇3 <拓展List>
  • CSS渲染性能优化
  • 【C++入门】类和对象(完)
  • webshell检测方式深度剖析 --- Pixy系列二(数据流分析)
  • [DAU-FI Net开源 | Dual Attention UNet+特征融合+Sobel和Canny等算子解决语义分割痛点]
  • 使用Triton部署ONNX模型
  • Python访问ElasticSearch
  • Flutter 混合开发 - 动态下发 libflutter.so libapp.so
  • Peter算法小课堂—动态规划
  • 2022–2023学年2021级计算机科学与技术专业数据库原理 (A)卷
  • Clojure 实战(4):编写 Hadoop MapReduce 脚本
  • Django 分页(表单)
  • socket实现视频通话-WebRTC
  • simulink代码生成(九)—— 串口显示数据(纸飞机联合调试)
  • Mysql数据库(中)——增删改查的学习(全面,详细)
  • test dbtest-03-对比 Liquibase、flyway、dbDeploy、dbsetup
  • 力导向图与矩阵排序
  • word 常用功能记录
  • C#线程基础(线程启动和停止)
  • 如何利用ChatGPT来提高编程效率
  • java智慧工地源码,互联网+建筑工地,实现对工程项目内人员、车辆、安全、设备、材料等的智能化管理