华为云云耀云服务器L实例评测|Elasticsearch的springboot整合 Kibana进行全查询和模糊查询

在这里插入图片描述

前言

最近华为云云耀云服务器L实例上新,也搞了一台来玩,期间遇到各种问题,在解决问题的过程中学到不少和运维相关的知识。

在前几期的博客中,介绍了Elasticsearch的Docker版本的安装,Elasticsearch的可视化Kibana工具安装,以及IK分词器的安装。

本篇博客介绍Elasticsearch的springboot整合,以及Kibana进行全查询和模糊查询。

其他相关的Elasticsearch的文章列表如下:

  • Elasticsearch的Docker版本的安装和参数设置 & 端口开放和浏览器访问

  • Elasticsearch的可视化Kibana工具安装 & IK分词器的安装和使用

在这里插入图片描述

其他相关的华为云云耀云服务器L实例评测文章列表如下:

  • 初始化配置SSH连接 & 安装MySQL的docker镜像 & 安装redis以及主从搭建 & 7.2版本redis.conf配置文件

  • 安装Java8环境 & 配置环境变量 & spring项目部署 &【!】存在问题未解决

  • 部署spring项目端口开放问题的解决 & 服务器项目环境搭建MySQL,Redis,Minio…指南

  • 由于自己原因导致MySQL数据库被攻击 & MySQL的binlog日志文件的理解

  • 认识redis未授权访问漏洞 & 漏洞的部分复现 & 设置连接密码 & redis其他命令学习

  • 拉取创建canal镜像配置相关参数 & 搭建canal连接MySQL数据库 & spring项目应用canal初步

  • Docker版的Minio安装 & Springboot项目中的使用 & 结合vue进行图片的存取

  • 在Redis的Docker容器中安装BloomFilter & 在Spring中使用Redis插件版的布隆过滤器

文章目录

  • 前言
  • 引出
  • springBoot整合elasticsearch
    • 1.引入依赖
    • 2.配置yml文件
      • 写配置类
    • 3.创建doc的实体类
    • 4.写实体类对应的mapper
    • 5.存取数据的测试
  • Kibana进行查询
    • 1.全查询
    • 2.进行模糊查询
    • 附录:Kibana报错解决
  • 总结

引出


1.Elasticsearch的springboot整合;
2.Kibana进行全查询和模糊查询;

springBoot整合elasticsearch

在这里插入图片描述

1.引入依赖

        <!--        elasticsearch的依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId></dependency>

2.配置yml文件

在这里插入图片描述

server:port: 9090spring:application:# 给这个项目起个名称name: book-malldatasource:druid:url: jdbc:mysql://127.0.0.1:3306/book_db?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=trueusername: rootpassword: 123driver-class-name: com.mysql.cj.jdbc.Driver# es的相关配置data:elasticsearch:repositories:enabled: true# es的ip+端口elasticsearch:uris: 124.70.138.34:9200mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl# 单元测试配置
knife4j:enable: true# 日志级别配置
logging:level:com.tinaju.bm: debug

写配置类

在这里插入图片描述

package com.tinaju.bm.config;import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.elasticsearch.client.ClientConfiguration;
import org.springframework.data.elasticsearch.client.RestClients;
import org.springframework.data.elasticsearch.config.AbstractElasticsearchConfiguration;/*** Elasticsearch的配置类*/
@Configuration
public class ElasticsearchConfig extends AbstractElasticsearchConfiguration {@Value("${spring.elasticsearch.uris}")private String uris;@Bean@Overridepublic RestHighLevelClient elasticsearchClient() {ClientConfiguration configuration =ClientConfiguration.builder().connectedTo(uris).build();return RestClients.create(configuration).rest();}
}

3.创建doc的实体类

在这里插入图片描述

package com.tinaju.bm.entity.es;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.DateFormat;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;import java.math.BigDecimal;
import java.util.Date;/*** 和es相关的映射类doc文档*/
@Data
@NoArgsConstructor
@AllArgsConstructor@Document(indexName = "book_index",createIndex = true)
public class BookDoc {@Id@Field(type = FieldType.Text)private String id;@Field(type = FieldType.Text)private String title;@Field(type = FieldType.Text)private String author;@Field(type = FieldType.Text)private String isbn;@Field(type = FieldType.Double) // 是double类型private BigDecimal price;@Field(type = FieldType.Integer)private Integer version;@Field(type = FieldType.Date,format = DateFormat.basic_date_time)private Date pubDate; // 出版日期@Field(type = FieldType.Integer)private Integer store; // 库存@Field(type = FieldType.Text)private String imgUrl; // 封面图片地址@Field(type = FieldType.Double) // 是double类型private BigDecimal weight; // 重量@Field(type = FieldType.Integer)private Integer sold; // 卖出数量;@Field(type = FieldType.Text)private String introduction; // 简介@Field(type = FieldType.Integer)private Integer pages; // 图书页数@Field(type = FieldType.Date,format = DateFormat.basic_date_time)private Date createTime;@Field(type = FieldType.Date,format = DateFormat.basic_date_time)private Date updateTime;@Field(type = FieldType.Text)private String createBy; // 数据记录人@Field(type = FieldType.Text)private Long publisherName; // 出版社@Field(type = FieldType.Text)private Long typeName; // 类型}

4.写实体类对应的mapper

在这里插入图片描述

package com.tinaju.bm.dao.es;import com.tinaju.bm.entity.es.BookDoc;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;/*** es的dao,实体类类型,和主键的类型*/
@Mapper
public interface IBookDocDao extends ElasticsearchRepository<BookDoc,String> {
}

5.存取数据的测试

在这里插入图片描述

    @Autowiredprivate IBookDocDao bookDocDao;@Overridepublic void addToES() {List<Book> books = bookMapper.selectList(null);books.forEach(book -> {BookDoc bookDoc = new BookDoc();bookDoc.setId(book.getId()+"");bookDoc.setAuthor(book.getAuthor());bookDoc.setIntroduction(book.getIntroduction());bookDoc.setTitle(book.getTitle());bookDoc.setPrice(book.getPrice());bookDocDao.save(bookDoc);});}

在这里插入图片描述

进行es的查询

在这里插入图片描述

    @Autowiredprivate IBookDocDao bookDocDao;@Testpublic void findES() {Iterable<BookDoc> all = bookDocDao.findAll();System.out.println(all);all.forEach(bookDoc -> {System.out.println(bookDoc);});System.out.println("###############");Optional<BookDoc> byId = bookDocDao.findById("4");System.out.println(byId.get());}

Kibana进行查询

1.全查询

GET /book_index/_search

全查询,耗时比Navicat多,可能是我的数据量较少,并且es是在服务器上,网络可能也有延迟;

而我的mysql是本地的数据库;

在这里插入图片描述

Navicat进行查询

在这里插入图片描述

2.进行模糊查询

MySQL进行模糊查询

在这里插入图片描述

es进行模糊查询

在这里插入图片描述

GET /book_index/_search
{"query": {"bool": {"should": [{"fuzzy": {"title": {"value": "中"}}},{"wildcard": {"author": {"value": "中"}}},{"wildcard": {"introduction": {"value": "中"}}}]}}
}

附录:Kibana报错解决

打开kibana网页后报错

在这里插入图片描述

在配置文件里面设置server.name解决问题

在这里插入图片描述


总结

1.Elasticsearch的springboot整合;
2.Kibana进行全查询和模糊查询;

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机组成与结构

目录 一、计算机硬件组成 二、中央处理单元 1、功能 2、CPU的组成 三、校验码 四、体系结构的分类 1、按处理机数量分类 2、Flynn分类 五、指令系统 1、指令 2、寻址方式 3、指令系统 #CISC&#xff08;复杂指令集计算机&#xff09; RISC&#xff08;精简指令集…

深眸科技入局AI视觉行业,以深度学习赋能视觉应用推进智造升级

随着科技的飞速发展&#xff0c;人工智能技术已经成为改变我们生活的重要力量&#xff0c;而深度学习作为人工智能的一个重要分支&#xff0c;近年来随着卷积神经网络的突破和推广&#xff0c;取得了显著进展&#xff0c;并呈现爆发式增长势头。 目前AI技术已经被迅速引入到机…

设计模式10、外观模式Facade

解释说明&#xff1a;外观模式&#xff08;Facade Pattern&#xff09;又称为门面模式&#xff0c;属于结构型模式 Faade 为子系统中的一组接口提供了一个统一的高层接口&#xff0c;该接口使得子系统更加容易使用 外观&#xff08;Facade)角色&#xff1a;为多个子系统对外提供…

【爬虫】用wget命令爬虫的简易教程

文章目录 1. 获取登录的请求2. 用postman模拟登录请求3. 用wget模拟登录请求并保存cookie4. 开始爬取网站5. 查看爬取结果6. 网站爬虫简易教程 爬取需要登录的网站的资源 背景&#xff1a;对于一些网站需要使用用户名和密码登录并且使用了https&#xff0c;我们如果不通过凭证将…

BiMPM实战文本匹配【上】

引言 今天来实现BiMPM模型进行文本匹配&#xff0c;数据集采用的是中文文本匹配数据集。内容较长&#xff0c;分为上下两部分。 数据准备 数据准备这里和之前的模型有些区别&#xff0c;主要是因为它同时有字符词表和单词词表。 from collections import defaultdict from …

Excel·VBA分列、字符串拆分

看到一篇博客《VBA&#xff0c;用VBA进行分列&#xff08;拆分列&#xff09;的2种方法》&#xff0c;使用VBA对字符串进行拆分 目录 Excel分列功能将字符串拆分为二维数组&#xff0c;Split函数举例 将字符串拆分为一维数组&#xff0c;正则表达式举例 Excel分列功能 Sub 测…

centos7卸载docker

菜鸟教程-常见命令&#xff1a;https://www.runoob.com/docker/docker-command-manual.html 1. 准备工作&#xff1a; 1.1 杀死docker有关的容器&#xff1a; docker kill $(docker ps -a -q)1.2 删除所有docker容器&#xff1a; docker rm $(docker ps -a -q)1.3 删除所有d…

MT8385 Android AB分区系统升级(命令模式)

AB系统分区升级使用的是update_engine,RecoverySystem 只适用于单分区的系统升级 1.解压开update.zip 可以查看到palyload的属性 2.使用ADB命令update_engine_client即可对AB分区进行升级 使用adb shell 命令进行升级 update_engine_client --payload xxx --update --hea…

机器视觉工程师如何快速停止内耗,与自己和解

十分情绪化的人&#xff0c;是无法更好的成就自我的。 真正让人疲惫的是&#xff0c;不是工作&#xff0c;不是学习&#xff0c;更不是生活。而是你自己的情绪。 我们每一天去上班&#xff0c;感觉自己像个失败者。看不见自身的光芒&#xff0c;被自己的情绪笼罩&#xff0c;饱…

【python海洋专题九】Cartopy画地形等深线图

【python海洋专题九】Cartopy画地形等深线图 水深图基础差不多了&#xff0c;可以换成温度、盐度等 本期加上等深线 本期内容 1&#xff1a;地形等深线 cf ax.contour(lon, lat, ele[:, :], levelsnp.linspace(-9000,-100,10),colorsgray, linestyles-,linewidths0.25, t…

WorldPop2000年至2020年的全中国的人口统计数据

简介 WorldPop于2013年10月启动&#xff0c;将AfriPop&#xff0c;AsiaPop和AmeriPop人口绘图项目结合在一起。它旨在为中美洲和南美洲&#xff0c;非洲和亚洲提供一个开放的空间人口统计数据集存档&#xff0c;以支持发展&#xff0c;灾害应对和卫生应用。 平台中的WorldPop数…

JAVA 注解

1 概念 Annotation&#xff08;注解&#xff09;是 Java 提供的一种对元程序中元素关联信息和元数据&#xff08;metadata&#xff09;的途径和方法。Annatation(注解)是一个接口&#xff0c;程序可以通过反射来获取指定程序中元素的 Annotation 对象&#xff0c;然后通过该 An…

亘古难题:前端开发 or 后端开发

目录 一、引言二、两者的对比分析1. 技能要求和专业知识前端开发后端开发 2. 职责和工作内容前端开发后端开发 3. 项目类型和应用领域前端开发后端开发 4. 就业前景和市场需求前端开发后端开发 三、技能转换和跨领域工作四、介绍全栈开发五、结语附、开源项目微服务商城项目前后…

react create-react-app v5配置 px2rem (暴露 eject方式)

环境信息&#xff1a; create-react-app v5 “react”: “^18.2.0” “postcss-plugin-px2rem”: “^0.8.1” 配置步骤&#xff1a; 我这个方式是 npm run eject 暴露 webpack配置的方法 1.安装 postcss-plugin-px2rem 和 lib-flexible cnpm install postcss-plugin-px2rem…

了解汽车ecu组成

常用ecu框架组成&#xff1a; BCM(body control module)-车身控制模块: 如英飞凌tc265芯片&#xff1a; 车身控制单元&#xff08;BCM&#xff09;适合应用于12V和24V两种电压工作环境&#xff0c;可用于轿车、大客车和商用车的车身控制。输入模块通过采集电路采集各路开关量和…

C++标准模板(STL)- 类型支持 (std::size_t,std::ptrdiff_t,std::nullptr_t)

对象、引用、函数&#xff08;包括函数模板特化&#xff09;和表达式具有称为类型的性质&#xff0c;它限制了对这些实体所容许的操作&#xff0c;并给原本寻常的位序列提供了语义含义。 附加性基本类型及宏 sizeof 运算符返回的无符号整数类型 std::size_t 定义于头文件 <…

安装软件显示“为了对电脑进行保护,已阻止此应用”——已解决

我是在安装Tableau时遇到的这个情况。事情是这样的&#xff1a;我先安装了一次&#xff0c;发现安装选项错了&#xff0c;我就用360软件管家删除了&#xff0c;结果就没法按照教程使用管理员身份打开了&#xff0c;提示“为了对电脑进行保护&#xff0c;已阻止此应用”。 解决…

【CFD小工坊】浅水方程的离散及求解方法

【CFD小工坊】浅水方程的离散及求解方法 前言基于有限体积法的方程离散界面通量与源项计算干-湿网格的处理数值离散的稳定性条件参考文献 前言 我们模型的控制方程&#xff0c;即浅水方程组的表达式如下&#xff1a; ∂ U ∂ t ∂ E ( U ) ∂ x ∂ G ( U ) ∂ y S ( U ) U…

【已解决】 Expected linebreaks to be ‘LF‘ but found ‘CRLF‘.

问题描述 团队都是用mac&#xff0c;只有我自己是windows&#xff0c;启动项目一直报错 Expected linebreaks to be ‘LF‘ but found ‘CRLF‘. 但我不能因为自己的问题去改团队配置&#xff0c;也尝试过该vscode配置默认是LF还是报错 思路 看文章vscode如何替换所有文件的…

信创办公–基于WPS的EXCEL最佳实践系列 (数据整理复制粘贴)

信创办公–基于WPS的EXCEL最佳实践系列 &#xff08;数据整理复制粘贴&#xff09; 目录 应用背景操作步骤1、数据查找与替换2、复制或粘贴数据3、使用自动填充工具4、将数据拆分到多列5、应用数字格式 应用背景 数据的整理复制粘贴等在日常的工作中经常使用。本章内容主要学习…