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

华为云云耀云服务器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进行全查询和模糊查询;

相关文章:

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

前言 最近华为云云耀云服务器L实例上新&#xff0c;也搞了一台来玩&#xff0c;期间遇到各种问题&#xff0c;在解决问题的过程中学到不少和运维相关的知识。 在前几期的博客中&#xff0c;介绍了Elasticsearch的Docker版本的安装&#xff0c;Elasticsearch的可视化Kibana工具…...

C++统一初始化和初始化列表

一直对C初始化使用圆括号和花括号的区别有所疑惑&#xff0c;参考书籍和博客简单总结一下 文章目录 常见的初始化操作统一初始化(Uniform Initialization)初始化列表(Initializer Lists) 常见的初始化操作 对于一个基础数据类型进行初始化&#xff0c;比如 int&#xff1a; i…...

【重拾C语言】六、批量数据组织(一)数组(数组类型、声明与操作、多维数组;典例:杨辉三角、矩阵乘积、消去法)

目录 前言 六、批量数据组织——数组 6.1 成绩统计——数组类型 6.1.1 数组类型 6.1.2 数组声明与操作 6.1.3 成绩统计 6.2 统计多科成绩——多维数组 6.3 程序设计实例 6.3.1 杨辉三角形 6.3.2 矩阵乘积 6.3.3 消去法 6.4 线性表——分类与检索 前言 ChatGPT C语…...

C++算法:寻找两个正序数组的中位数

题目 寻找两个正序数组的中位数 给定两个大小分别为 m 和 n 的正序&#xff08;从小到大&#xff09;数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 示例 1&#xff1a; 输入&#xff1a;nums1 [1,3], nums2 [2] 输…...

2.1 关系数据结构及形式化定义

思维导图&#xff1a; 2.1.1 关系 笔记&#xff1a; 关系数据库模型是一个简单但强大的方式来表示数据及其之间的关系。下面是这节的关键内容&#xff1a; - **关系模型核心概念** * 关系数据模型的核心是“关系”&#xff0c;它在逻辑上表现为一个二维表。 * 此表中&a…...

“揭秘淘宝店铺所有商品接口:一键获取海量热销宝贝信息!“

淘宝店铺所有商品接口可以通过shop id或店铺主链接获取到整店商品&#xff0c;数据包括&#xff1a;商品ID&#xff0c;图片地址&#xff0c;店铺标题&#xff0c;优惠价&#xff0c;价格&#xff0c;销量&#xff0c;宝贝链接等整个店铺的商品。 要使用这个接口&#xff0c;需…...

跟着播客学英语-Why I use vim ? part two

在上一期作者讲到了他使用 Vim 的主要原因是提高效率&#xff0c;不需要再去使用鼠标&#xff0c;今天我们继续上次未听完的内容&#xff1a; if you type Vi, thats going to be alias to Vim anyway by default theres, not really a good reason for you to use vi that I c…...

【网络通信三要素】TCP与UDP快速入门

网络通信三要素 1.什么是网络编程&#xff1f; 可以让设备中的程序&#xff0c;与网络上其他设备中的程序进行数据交互&#xff0c;从而实现网络通信的手段&#xff0c;java.net.*包下提供了网络编程的解决方案 2.基本的通信架构 基本的通信架构有2种形式&#xff1a;CS架构…...

k8s集群的简单搭建

K8S简单集群搭建 前提条件 windos11电脑&#xff0c;内存16g以上安装vmware虚拟机软件安装三个centos7虚拟机&#xff0c;分配硬盘40g,内存4g,CPU4核心网络均采用NAT模式&#xff08;新建虚拟机默认的模式&#xff09; centos7镜像下载&#xff1a;https://mirrors.tuna.tsi…...

语义分割笔记(三):通过opencv对mask图片来画分割对象的外接椭圆

文章目录 mask图像介绍步骤代码 mask图像介绍 根据 mask 图像来画分割对象的外接椭圆是一种常见的图像分割任务。Mask 图像通常是一个二值图像&#xff0c;其中包含了感兴趣对象的像素。通常情况下&#xff0c;白色像素表示对象&#xff0c;黑色像素表示背景。 步骤 以下是一…...

Nosql redis高可用和持久化

Nosql redis高可用和持久化 1、redis高可用2、redis持久化2.1redis持久化2.2Redis 持久化方法2.3RDB 持久化2.3.1RDB持久化工作原理2.3.2触发条件2.3.3其他自动触发机制2.3.4执行流程2.3.5启动时加载 2.4AOF 持久化2.4.1AOF持久化原理2.4.2开启AOF2.4.3执行流程2.4.4文件重写的…...

软件工程(1、2;5~7小测参考答案)

目录 软件工程第1、2章小测 需求工程第5-7章小测 软件工程第1、2章小测 一 单项选择题(12分) 1、下列关于软件开发的描述不正确的是()。(1分) 软件是独立于计算机硬件的一部分,但它又依赖于计算机硬件。 软件既是一种复杂的逻辑实体,又是一种工具。 软件的核心是程序,…...

服务器存储面临的两大难题

服务器存储面临的两大难题 服务器存储为核心的IT系统承受着业务发展带来的巨大压力: 随着业务发展&#xff0c;IT应用数量不断增多&#xff0c;当前数据中心的IT基础设施愈加复杂&#xff0c;服务器、存储等设备的数量不断增加。服务器与存储管理更加复杂:随着业务应用对IT基础…...

Blind Signature盲签名与fabric区块链结合的应用

盲签名的概念 首先由 David Chaum 于1982年提出&#xff0c;盲签名实现了签名者对发送者的消息进行签名&#xff0c;却不能知道签名者消息的具体内容。 相当于将文件放入信封&#xff0c;签名者在信封上对文件进行签名&#xff0c;而不知道具体的文件内容。 盲签名的实现方式…...

ueditor

下载文件 文档 UEditor入门部署 入门部署和体验 1.1 下载编辑器 到官网下载 UEditor 最新版&#xff1a;http://ueditor.baidu.com/website/download.html#ueditor 1.2 创建demo文件 解压下载的包&#xff0c;在解压后的目录创建 demo.html 文件&#xff0c;填入下面的…...

2023年台州市第三届网络安全技能大赛(MISC)—Black Mamba

前言&#xff1a;当时比赛没有做出来现在来复现一下 就当记录一下&#xff08;这个思路没想到&#xff09; Black Mamba&#xff1a; 一张图片 常规得分离&#xff0c;属性&#xff0c;LSB&#xff0c;盲水印等都尝试过 无果&#xff01; 考点&#xff1a;异或解密&#xff0…...

这道面试题工作中经常碰到,但 99% 的程序员都答不上来

小时候都被问过一个脑筋急转弯&#xff0c;把大象放进冰箱有几个步骤&#xff1f;我们一开始都会抓耳挠腮&#xff0c;去想着该如何把大象塞进冰箱。最终揭晓的答案却根本不关心具体的操作方法&#xff0c;只是提供了 3 个步骤组成的流程&#xff0c;「把冰箱打开&#xff0c;把…...

Linux安装单机PostgreSQL15.4

1. 联网rpm安装 1.1.关闭服务 ## 关闭防火墙 systemctl stop firewalld.service systemctl disable firewalld.service ## 关闭 selinux cat /etc/selinux/config SELINUXdisabled1.2.安装yum源 yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-…...

最新 SpringCloud微服务技术栈实战教程 微服务保护 分布式事务 课后练习等

SpringCloud微服务技术栈实战教程&#xff0c;涵盖springcloud微服务架构Nacos配置中心分布式服务等 SpringCloud及SpringCloudAlibaba是目前最流行的微服务技术栈。但大家学习起来的感受就是组件很多&#xff0c;不知道该如何应用。这套《微服务实战课》从一个单体项目入手&am…...

Docker搭建MySQL8.0主从复制(一主一从)

0. 配置说明 宿主机使用的版本为19045的win10专业版&#xff0c;MySQL使用的是8.0&#xff0c;Docker容器使用Linux。 1. 安装Docker Desktop 略 修改Docker默认安装路径 安装包自己就提供了修改安装路径的功能&#xff0c;CMD中运行&#xff1a; “Docker Desktop Installe…...

40V汽车级P沟道MOSFET SQ4401EY-T1_GE3 工作原理、特性参数、封装形式—节省PCB空间,更可靠

AEC-Q101车规认证是一种基于失效机制的分立半导体应用测试认证规范。它是为了确保在汽车领域使用的分立半导体器件能够在严苛的环境条件下正常运行和长期可靠性而制定的。AEC-Q101认证包括一系列的失效机制和应力测试&#xff0c;以验证器件在高温、湿度、振动等恶劣条件下的可…...

记录在搭建Jenkins时,所遇到的坑,以及解决方案

项目场景&#xff1a; 记录在搭建Jenkins时,所遇到的坑,以及解决方案.问题描述1 在使用Jenkins构建时,报错如下&#xff1a; cp: cannot stat /project/xx/xxxx/dist/: No such file or directory Build step Execute shell marked build as failure Finished: FAILURE解决方…...

二极管“天马行空”的作用,你知道吗?

网友&#xff1a;二极管怎么有这么多种类呀&#xff1f; 工程师&#xff1a;二极管可以说除了电阻电容外用的比较多的一种元器件&#xff0c;起到的作用多着呢 那么二极管都可以起到哪些作用呢&#xff1a; 一、防反作用&#xff0c;主回路中串联一个二极管&#xff0c;是利用…...

鼎盛合:adc芯片的五种结构

随着国内消费电子产品、通信、工业自动化、汽车电子等行业的快速发展&#xff0c;对ADC芯片的需求不断增加&#xff0c;国内ADC芯片近年也在持续稳定地发展着。ADC种类多样&#xff0c;可分为单通道ADC、多通道ADC、高速ADC、精密ADC和集成ADC等&#xff0c;主要应用于医疗仪器…...

CTF 全讲解:[SWPUCTF 2021 新生赛]Do_you_know_http

文章目录 参考环境题目hello.php雾现User-Agent伪造 User-AgentHackBarHackBar 插件的获取修改请求头信息 雾散 a.php雾现本地回环地址与客户端 IP 相关的 HTTP 请求头X-Forwarded-For 雾散 参考 项目描述搜索引擎Bing、GoogleAI 大模型文心一言、通义千问、讯飞星火认知大模型…...

物联网AI MicroPython传感器学习 之 4路电容式触摸开关

学物联网&#xff0c;来万物简单IoT物联网&#xff01;&#xff01; 一、产品简介 板载TTP224电容式4键触摸感应IC&#xff0c;开发者通过触摸该电容模块获取对应的高低电平状态&#xff0c;可以广泛应用于灯光控制、玩具、家用电器等产品中。 引脚定义&#xff1a; VCC&…...

头戴式耳机什么牌子最好?头戴式耳机推荐性价比高

脖子上挎个头戴式作为随身装备&#xff0c;不仅给服装配饰添加了潮流感&#xff0c;还可以可以随时聆听音乐&#xff0c;随着广大消费者的生活水平不断提高&#xff0c;市面上的头戴式耳机越来越多。 选择头戴式耳机时无非就是听音质、看外观、舒适度等等&#xff0c;那么头戴…...

第 366 场周赛 LeetCode 周赛题解

A 分类求和并作差 模拟 class Solution { public:int differenceOfSums(int n, int m) {int res 0;for (int i 1; i < n; i)res i % m ! 0 ? i : -i;return res;} };B 最小处理时间 排序&#xff1a;设四个 p r o c e s s o r T i m e processorTime processorTime 的元…...

Linux: tcpdump抓包示例

文章目录 1. 前言2. TCP 状态机3. tcpdump 抓包示例3.1 抓连接握手包&#xff1a;三次握手3.2 抓数据包示例3.3 抓终结连接&#xff1a;四次挥手 4. 参考资料 1. 前言 限于作者能力水平&#xff0c;本文可能存在谬误&#xff0c;因此而给读者带来的损失&#xff0c;作者不做任…...

seafile server10.0.1 onlyoffice

目标&#xff1a;解决seafile server无法查看office相关文档问题 seafile server 已安装完成 安装onlyoffice 一、Install Docker Engine on Ubuntu 20.04 验证是否安装成功 sudo docker run hello-world 二、拉取onlyoffice/documentserver 镜像及安装 docker network cre…...

服装营销型网站建设/深圳关键词推广优化

1.背景 RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现。 2.应用场景 2.1异步处理 场景说明&#xff1a;用户注册后&#xff0c;需要发注册邮件和注册短信,传统的做法有两种1.串行的方式;2.并行的方式 (1)串行方式:将注册信息写入数据库后,发送注册邮件…...

网站开发参考书籍/深圳seo技术

#前言&#xff1a;Linux系统自带了些实时查看监控系统运行状态的相关命令&#xff0c;接下来我们就来了解一下。#首先我们先来了解一下什么是进程#进程&#xff1a;是Linux用来表示正在运行的程序的一种抽象概念&#xff0c;Linux系统上所有运行的东西都可以称为进程1.top命令&…...

科技公司的网站/html网页制作模板代码

Redis入门与小案例1、Redis简介2、下载安装3、在java中使用Redis1.导入相关坐标2.相关实例1、Redis简介 Redis 是完全开源免费的&#xff0c;遵守BSD协议&#xff0c;是一个高性能的key-value数据库。 Redis 与其他 key - value 缓存产品有以下三个特点&#xff1a; Redis支持…...

wordpress站名在哪改/百度电脑网页版入口

当你看到网页里那炫丽多彩的图片和动画时&#xff0c;不知道你脑海里是否有一种想探究这些东西是怎么生成的想法。对&#xff0c;今天我们所探究的就是浏览器为了生成一个漂亮的网页&#xff0c;经历了哪些处理。一、工作流程概览浏览器的内核不同&#xff0c;相对应的渲染方式…...

怎么做免费域名网站/网站搜索引擎优化

专栏在语雀知识库同步&#xff0c;感觉语雀上的目录更明确一些&#xff0c;有兴趣可以去看看。您的点赞和喜欢是我更新的动力&#xff0c;请不要只让它躺在收藏夹吃灰&#xff08;&#xff1a;VBA从入门到放弃 语雀​www.yuque.com使用录制宏功能可以快速学习VBA操作&#xff…...

夺宝网站还可以做吗/上海关键词自动排名

1.ImageView类用于显示各种图像&#xff0c;例如&#xff1a;图标&#xff0c;图片&#xff0c;下面对于ImageView类加载图片方法的描述有&#xff1a;void setImageResource(int resld): 设置Drawanble图像。参数resld表示drawable的标识符。void setImageDrawable(Drawable d…...