0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SpringBoot整合ElasticSearch

Java开发 来源:Java开发 作者:Java开发 2023-03-09 14:56 次阅读

ElasticSearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。主要负责将日志索引并存储起来,方便业务方检索查询。

ElasticSearch安装方式参考:

Linux安装ElasticSearch

Linux安装elasticsearch-head

Windows安装ElasticSearch

1 Spring项目

项目GitHub地址:https://github.com/Snowstorm0/learn-es

项目Gitee地址:https://gitee.com/Snowstorm0/learn-es

1.1 配置ES客户端

public class RestClientConfig extends AbstractElasticsearchConfiguration {
    @Override
    @Bean
    public RestHighLevelClient elasticsearchClient() {
        final ClientConfiguration clientConfiguration = ClientConfiguration.builder()
                .connectedTo("localhost:9200")
                .build();
        return RestClients.create(clientConfiguration).rest();
    }
}

1.2 创建User类

public class UserEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Integer id;
    private String name;
    private String job;
    private Double deposit;
    private Date processTime = new Date();
}

配置完成后,ElasticSearch即可像常规的数据库那样进行增删改查的操作。

1.3 配置数据库

spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://localhost:3306/sys?characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC

2 运行项目

2.1 添加

调用添加接口:http://localhost:8080/user/add

添加User类的请求体:

{
  "id":"1",
  "name":"代码的路",
  "job":"码农",
  "deposit":100.0
}

可以看到添加成功:

2.2 读取

运行读取接口:http://localhost:8080/user/search/whole?key=码农

可以获得刚写入的User类,是完整结构:

运行读取接口:http://localhost:8080/user/search/es?key=码农

可以获得刚写入的User类,只有User结构:

打开数据库,无需手动创建表结构,即可看到User类也已经写入到数据库中:

因此可以刻直接从数据库读取。

学习更多编程知识,请关注我的公众号:

代码的路

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ES
    ES
    +关注

    关注

    0

    文章

    10

    浏览量

    19993
  • JAVA
    +关注

    关注

    19

    文章

    2904

    浏览量

    103007
  • 数据库
    +关注

    关注

    7

    文章

    3592

    浏览量

    63383
  • SpringBoot
    +关注

    关注

    0

    文章

    172

    浏览量

    107
收藏 人收藏

    评论

    相关推荐

    一个注解搞定SpringBoot接口防刷

    技术要点:springboot的基本知识,redis基本操作,
    的头像 发表于 11-28 10:46 228次阅读

    javaweb和springboot能一起用吗

    JavaWeb 和 SpringBoot 是两种针对 Java 程序开发的框架,它们可以在一起使用。在本文中,我将详细介绍 JavaWeb 和 SpringBoot 的关系,并探讨如何结合使用这两个
    的头像 发表于 11-16 10:54 932次阅读

    Quarkus是SpringBoot的替代品吗?

    SpringBoot框架不用多介绍,Java程序员想必都知道。相对来说熟悉Quarkus的人可能会少一些。Quarkus首页放出的标语:超音速亚原子的Java(Supersonic Subatomic Java)。
    的头像 发表于 11-10 10:01 379次阅读
    Quarkus是<b class='flag-5'>SpringBoot</b>的替代品吗?

    源译识 | 译文分享:Elasticsearch诉Amazon商标侵权案

    【编者按】 ElasticSearch是归属Elastic公司的一个开源项目,提供分布式、高扩展、高实时的搜索与数据分析引擎。Amazon公司于2015年基于ElasticSearch推出了自己
    的头像 发表于 11-06 19:10 441次阅读

    Python 更新 Elasticsearch 的几种方法

    今天总结一下通过 Python 更新 Elasticsearch 数据的几个方法 Elasticsearch 是一个实时的分布式搜索分析引擎,它能让你以前所未有的速度和规模,去探索你的数据。它被用作
    的头像 发表于 11-01 10:11 457次阅读
    Python 更新 <b class='flag-5'>Elasticsearch</b> 的几种方法

    SpringBoot 连接ElasticSearch的使用方式

    SpringBoot,今天我们就以 SpringBoot 整合 ElasticSearch 为例,给大家详细的介绍 ElasticSearch
    的头像 发表于 10-09 10:35 430次阅读

    如何用Springboot整合Redis

    本篇文件我们来介绍如何用Springboot整合Redis。 1、Docker 安装 Redis 1.1 下载镜像 docker pull redis: 6 . 2 . 6 1.2 创建配置文件
    的头像 发表于 10-08 14:56 329次阅读
    如何用<b class='flag-5'>Springboot</b><b class='flag-5'>整合</b>Redis

    Elasticsearch存在的各种漏洞问题

    elasticsearch 8 之前使用的一个老系统使用了elasticsearch7.x版本,之后又反应es版本存在各种漏洞 无奈只能做版本升级来解决问题,计划是将版本升级到8.x,在网
    的头像 发表于 09-30 10:40 1663次阅读
    <b class='flag-5'>Elasticsearch</b>存在的各种漏洞问题

    SpringBoot 如何实现热部署

    热部署是软件开发中一个非常有用的功能,它允许我们在不重新启动整个应用的情况下,依旧能够使我们修改的代码生效。 现在Java Web 开发应该都是使用的 SpringBoot,那么本篇文章就来介绍
    的头像 发表于 09-30 10:16 417次阅读
    <b class='flag-5'>SpringBoot</b> 如何实现热部署

    Elasticsearch保姆级入门

    我们需要创建一个供 Elasticsearch 和 Kibana 使用的 network。这个 network 将被用于 Elasticsearch 和 Kibana 之间的通信。
    的头像 发表于 09-01 15:24 280次阅读
    <b class='flag-5'>Elasticsearch</b>保姆级入门

    基于 Elasticsearch 的日志系统架构如何面临挑战

    优化:例如增加了倒排索引,支持原生的半结构数据类型,优化了 Text 匹配速度和文本算法等,最终实现相较 Elasticsearch 最高 10 倍的性价比提升。 为了让大家快速使用 Doris 搭建
    的头像 发表于 08-08 10:21 667次阅读
    基于 <b class='flag-5'>Elasticsearch</b> 的日志系统架构如何面临挑战

    什么是springBoot业务组件化开发?谈谈SpringBoot业务组件化

    首先,谈一谈什么是“springBoot业务组件化开发”,最近一直在开发一直面临这一个问题,就是相同的业务场景场景在一个项目中使用了,又需要再另外一个项目中复用,一遍又一遍的复制代码,然后想将该业务的代码在不同的项目中维护起来真的很难。
    的头像 发表于 07-20 11:30 587次阅读
    什么是<b class='flag-5'>springBoot</b>业务组件化开发?谈谈<b class='flag-5'>SpringBoot</b>业务组件化

    有哪些方法可以读取Springboot的配置呢?

    从配置文件中获取属性应该是SpringBoot开发中最为常用的功能之一,但就是这么常用的功能,仍然有很多开发者在这个方面踩坑。
    的头像 发表于 06-28 10:00 307次阅读
    有哪些方法可以读取<b class='flag-5'>Springboot</b>的配置呢?

    SpringBoot模板分类树查询功能介绍

    了5次。 到底是怎么回事呢? 背景 我们的网站使用了SpringBoot推荐的模板引擎:Thymeleaf,进行动态渲染。 它是一个XML/XHTML/HTML5模板引擎,可用于Web与非Web环境中的应用开发。 它提供了一个用于整合SpringMVC的可选模块,在应用开
    的头像 发表于 05-22 11:39 501次阅读
    <b class='flag-5'>SpringBoot</b>模板分类树查询功能介绍

    关于Jenkins+docker+springboot一键自动部署项目

    本文章实现最简单全面的Jenkins+docker+springboot 一键自动部署项目,步骤齐全,少走坑路。
    的头像 发表于 05-16 08:59 604次阅读
    关于Jenkins+docker+<b class='flag-5'>springboot</b>一键自动部署项目