首页 > 其他分享 >SpringBoot整合ElasticSearch

SpringBoot整合ElasticSearch

时间:2023-03-09 15:12:28浏览次数:48  
标签:http SpringBoot 数据库 private ElasticSearch User 整合 localhost

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

1 安装ES

下载地址:https://www.elastic.co/cn/downloads/elasticsearch

选择Windows版本,我下载的是7.17.0。解压后即可完成安装。

进入bin文件, 双击执行 elasticsearch.bat,然后打开浏览器,进入页面: http://localhost:9200,看到以下输出,表示启动成功。

2 Spring项目

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

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

2.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();
    }
}

2.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即可像常规的数据库那样进行增删改查的操作。

2.3 配置数据库

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

3 运行项目

3.1 添加

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

添加User类的请求体:

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

可以看到添加成功:

3.2 读取

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

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

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

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

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

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

 
 

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

代码的路

标签:http,SpringBoot,数据库,private,ElasticSearch,User,整合,localhost
From: https://www.cnblogs.com/zbzcDZF/p/17198472.html

相关文章

  • Spring Boot&Vue3 前后端分离 实战 wiki 知识库系统<四>--前后端交互整合
    接着上一次​​SpringBoot&Vue3前后端分离实战wiki知识库系统<三>--VueCLI项目搭建目搭建​​的继续往下学习,这次的目标就是前后端进行功能的联调了。集成HTTP库Axio......
  • Spring Boot + Vue3 前后端分离 实战 wiki 知识库系统<四>--前后端交互整合
    接着上一次https://www.cnblogs.com/webor2006/p/17158238.html的继续往下学习,这次的目标就是前后端进行功能的联调了。集成HTTP库Axios:简述:对于Vue前端来说,需要发起后......
  • SpringBoot框架
    SpringBoot框架https://blog.csdn.net/friggly/article/details/123888590?spm=1001.2101.3001.6650.8&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7......
  • ElasticSearch 实现分词全文检索 - 测试数据准备
    目录ElasticSearch实现分词全文检索-概述ElasticSearch实现分词全文检索-ES、Kibana、IK安装ElasticSearch实现分词全文检索-Restful基本操作ElasticSearch......
  • 狂神说SpringBoot学习笔记_暂存
    1.全面接管SpringMVC的配置!实操!2.yaml可以直接给实体类赋值。jar:webapp!自动装配Springboot到底帮我们配置了什么?我们能不能进行修改?能修改哪些东西?能不能扩展?xxxxAut......
  • SSM SpringBoot vue药店管理系统
    SSMSpringBootvue药店管理系统登录首页普通管理员管理用户信息管理会员信息管理生产厂商管理类别信息管理药品信息管理进货管理销售信息管理联系我们管理系......
  • java springboot mybatis plus 3.4 实现执行任意 sql 语句
    试了SqlRunner一直失败,不知道原因,于是试了如下方法,完美解决。@AutowiredprivateSqlSessionFactorysqlSessionFactory;publicList<Map<String,Object>>exec......
  • SpringBoot上传文件夹的三种解决方案
    ​ 一、概述 所谓断点续传,其实只是指下载,也就是要从文件已经下载的地方开始继续下载。在以前版本的HTTP协议是不支持断点的,HTTP/1.1开始就支持了。一般断点下载时才用......
  • 【配置中心】springboot2.x 整合 zuul
    背景本来是一件很简单的事情,就是想在配置中心添加一层认证,但还是搞得很麻烦,麻烦到要专门做一篇小记来记录一下这坎坷的过程。是这样子的,原来的项目:springboot1.x+zuul......
  • Elasticsearch
     ES是基于索引的设计,它没办法像MySQL那样使用join查询,所以,查询数据时我们需要把每条主数据及关联子表的数据全部整合在一条记录中。ES的存储结构  无结构文档......