ElasticSearch的使用、Kibana和ES-Head可视化工具

news2024/11/15 21:38:11

ElasticSearch的使用、Kibana和ES-Head可视化工具

  • 一、ElasticSearch概述
    • 1. ES
    • 2.IK分词器
    • 3. Kibana
    • 4.Head
  • 二、安装
    • 1.ES安装
    • 2. 配置跨域和IK分词器
    • 3.Kibana安装
    • 4. Head安装
  • 三、常用操作
    • 1. ES结构
    • 2. ES操作
      • 1. 索引的基本操作
        • -创建索引
        • -查看索引
        • -修改索引
        • -删除索引
        • -特殊查看
      • 2.文档的基本操作
        • - 创建文档
        • - 修改文档:修改指定的某一个字段
        • - 查看文档数据
        • - 删除文档
      • 3. 复杂查询
        • - 创建商品索引
        • 1)模糊查询match。
        • 2)逻辑查询(多条件查询 and or not)
        • 3)结果过滤
        • 4)字段过滤
        • 5)排序:desc 降序 asc升序
        • 6)分页查询
        • 7)精确查询:term
        • 8)高亮查询

一、ElasticSearch概述

1. ES

在这里插入图片描述

2.IK分词器

ES的插件,辅助为中文做分词操作。
在这里插入图片描述

3. Kibana

ES的开发工具,辅助操作ES。
在这里插入图片描述

4.Head

ES的管理工具,可视化工具,辅助操作ES。

二、安装

1.ES安装

在这里插入图片描述

  1. 拉取elasticsearch镜像
docker pull elasticsearch:7.6.2
  1. 使用docker容器创ES服务
    注意:这里没有进行挂载,实际使用还是要进行挂载。
#-d:后台运行  9200是es默认端口 ES_JAVA_OPTS="-Xms64m -Xmx512m":设置内存范围的限制
sudo docker run -d --name es01 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2

在这里插入图片描述

2. 配置跨域和IK分词器

在这里插入图片描述
在这里插入图片描述

  1. 在网上下载IK分词器
    在这里插入图片描述
    IK分词器与ES的版本对应
    在这里插入图片描述
    本文使用7.6.2版本,下载网址如下
    在这里插入图片描述

  2. 把IK分词器传入到容器中

#./elasticsearch-analysis-ik-7.6.2.zip :IK分词器插件路径
#es01:/usr/share/elasticsearch/plugins/:移动到es01容器下的插件路径plugins下
sudo docker cp ./elasticsearch-analysis-ik-7.6.2.zip es01:/usr/share/elasticsearch/plugins/

在这里插入图片描述

  1. 进入容器配置插件
    1)进入容器
    在这里插入图片描述
    2)进入config目录
    在这里插入图片描述
    3)进入elasticsearch.yml文件,进行配置
    在这里插入图片描述
    增加配置内容,:wq保存退出。
http.cors.enabled:true #允许跨域
http.cors.allow-origin: "*"  #允许所有的来源

在这里插入图片描述

  1. 安装IK分词器插件
    1)进入es01的容器,进入到存放插件的目录plugins中
    在这里插入图片描述
    2)创建文件夹ik,之后把插件解压到该文件夹
    在这里插入图片描述
    3)将压缩包移动到ik文件夹下
    在这里插入图片描述
    4)解压压缩包、
    在这里插入图片描述
    5)删除压缩包
    在这里插入图片描述
  2. 配置完后重启容器
    在这里插入图片描述
  3. 测试,检测es服务是否启动。或者直接网址访问。
    在这里插入图片描述
    在这里插入图片描述

3.Kibana安装

  1. 下载Kibana镜像
sudo docker pull kibana:7.6.2
  1. 创建Kibana容器
#ELASTICSEARCH_HOSTS=http://xx.xx.xx.xx:9200 配置ES的访问地址
#kibana 的端口是5601
sudo docker run --name kibana -e ELASTICSEARCH_HOSTS=http://xx.xx.xx.xx:9200 -p 5601:5601 -d kibana:7.6.2
  1. 访问网址127.0.0.1:5601
    在这里插入图片描述
    进入Try our sample data——Dev Tools
    在这里插入图片描述
    在这里编写请求,来查询数据
    在这里插入图片描述
  2. IK分词器有两种划分:ik_smart和ik_max_word
  • ik_smart:最少切分
    英文会根据空格划分
    在这里插入图片描述
  • ik_max_word:最细粒度切分
    注:这里写了三个请求,如果只发送一个请求,点击请求右边的三角符号
    在这里插入图片描述

4. Head安装

  1. 下载镜像
sudo docker pull mobz/elasticsearch-head:5
  1. 搭建容器
# 默认端口是9100:9100
sudo docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5
  1. 进入容器(注:pwd可以查看当前目录)
    在这里插入图片描述
    注:pwd可以查看当前目录
    在这里插入图片描述
  2. 通过vim进入_site文件中的vendor.js中
    在这里插入图片描述
    没有vim的话进行下载
    在这里插入图片描述
  3. 修改vendor.js内容
    1) 跳转到指定行:按ESC键,输入:6888,回车,跳转到6888行

2)修改contentType内容如下。按i键进入插入模式。
在这里插入图片描述
3)跳转到7584行,同样修改contentType内容。:wq保存退出
在这里插入图片描述

  1. 退出后重启es_admin容器

  2. 访问网址127.0.0.1:9100
    在这里插入图片描述
    在”索引“可以查看到数据详情
    在这里插入图片描述

三、常用操作

1. ES结构

  • 索引:相当于mysql中的数据库
  • 类型:相当于mysql中的表
  • 文档:和mongoDB的文档概念一致数据
    在ES中,可以有多个索引,每个类型可以有多个索引,每个索引可以有多个文档

2. ES操作

在这里插入图片描述

1. 索引的基本操作

-创建索引

1)在kibana中创建索引
mappings:映射数据
在这里插入图片描述
2)点击启动,显示以下信息表示成功创建了一个名为teset1的索引
在这里插入图片描述
3)用HEAD可视化查看。在索引和数据浏览中都可以看到test01这个索引
在这里插入图片描述

-查看索引

1)在kibana中编写查看索引
在这里插入图片描述
2)发送请求,返回结果如下
在这里插入图片描述

-修改索引

在发起一次请求即可
在这里插入图片描述

-删除索引

在这里插入图片描述
执行成功
在这里插入图片描述
此时在可视化工具中test1也被删除
在这里插入图片描述

-特殊查看

如查看基群的健康值
在这里插入图片描述

2.文档的基本操作

- 创建文档

用put方法,没有数据创建,有数据修改
test1:索引名
_doc:类型,固定写这个就行
1:指定id为1,不指定随机生成id
在这里插入图片描述
生成随机id写法参考:
在这里插入图片描述

执行如下:
在这里插入图片描述
此时用可视化工具可以查看到这条数据
在这里插入图片描述

- 修改文档:修改指定的某一个字段

在这里插入图片描述
执行结果如下
在这里插入图片描述

- 查看文档数据

在这里插入图片描述
执行结果如下:
在这里插入图片描述

- 删除文档

可以直接删除索引
在这里插入图片描述

3. 复杂查询

- 创建商品索引

在这里插入图片描述
查询结果如下
在这里插入图片描述

1)模糊查询match。

q(代表query)后面接字段名,并指定模糊查询条件

路由传参写法:
在这里插入图片描述
结构体写法:
在这里插入图片描述

返回结果如下
在这里插入图片描述
注意:match会用分词器进行解析
如:查询华为手机,也会查询出小米手机,华为手机匹配度得分_score要高一点
在这里插入图片描述
查询结果如下:
在这里插入图片描述

2)逻辑查询(多条件查询 and or not)
  • must可以理解为and
    在这里插入图片描述
    查询结果如下
    在这里插入图片描述
  • should可以理解为or
    在这里插入图片描述
    查询结果如下:
    在这里插入图片描述
  • 取反
    在这里插入图片描述
    查询结果如下:
    在这里插入图片描述
3)结果过滤

比较运算:大于,小于,等于,大于等于,小于等于
大于是gt,等于是eq,小于是lt,大于等于gte,小于等于lte
在这里插入图片描述
执行结果如下:
在这里插入图片描述

4)字段过滤

在这里插入图片描述
执行结果如下:返回结果的字段只有title和price
在这里插入图片描述

5)排序:desc 降序 asc升序

在这里插入图片描述
执行结果如下:
在这里插入图片描述

6)分页查询

from:从哪一页开始。可以理解为offset偏移量
size:展示条数

//偏移量计算参考
页数 偏移量 显示条数
1      0       10
2      10     10
3      20     10
page from size

计算公式:from =( page-1)*size

在这里插入图片描述
执行结果如下:value:2表示有两条数据
在这里插入图片描述
要查询第二页的数据,from改成1
在这里插入图片描述

7)精确查询:term

在这里插入图片描述
查询结果如下:
在这里插入图片描述
查询结果如下:
在这里插入图片描述

8)高亮查询

突出搜索内容,如在京东搜索"衬衫",标题会有颜色标红。
在这里插入图片描述
在这里插入图片描述
查询结果如下:此时查询出来的title全部被em标签包裹起来,所以只需要在前端增加css样式,对em标签包裹的数据设置颜色即可。但是这种使用场景可能会导致前端其他被em标签包裹的数据也会变成红色。那这个怎么解决呢?
在这里插入图片描述
这里我们使用自定义高亮来解决这个问题。
在这里插入图片描述
执行结果如下:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

git笔记之在多个分支中复用某个分支提交的更改

git笔记之在多个分支中复用某个分支提交的更改 code review! 文章目录 git笔记之在多个分支中复用某个分支提交的更改1.实现该功能的 Bash 脚本示例2.这个脚本是否可以处理新添加的文件?3.该脚本使用前,应先使用下述脚本重置本地仓库所有分支与远程保持一…

Jenkins Pipeline 中通过勾选参数来控制是否构建 Docker 镜像

1.定义参数: 使用 booleanParam 定义一个布尔参数,示例如下 booleanParam(name: BUILD_DOCKER, description: 是否构建Docker镜像, defaultValue: false)2.使用参数: 在 stage 中,根据参数的值决定构建方式: stage(编…

HTTP 与 HTTPS 的三次握手与四次挥手详解

文章目录 HTTP 与 HTTPS 的三次握手与四次挥手详解一、HTTP 的三次握手与四次挥手1. HTTP 三次握手2. HTTP 四次挥手 二、HTTPS 的三次握手与四次挥手1. HTTPS(无证书)的三次握手与 SSL/TLS 握手2. HTTPS(有证书)的三次握手与 SSL…

vue-baidu-map的基本使用

前言 公司项目需求引入百度地图,由于给的时间比较短,所以就用了已经封装好了的vue-baidu-map 一、vue-baidu-map是什么? vue-baidu-map是基于vue.js封装的百度地图组件(官方文档) 二、使用步骤 1.下载插件 //我下载的版本 npm install …

注册讲堂 | 医疗器械组合包类产品常见问题(2)

问题一:组合包类产品的有效期应该如何确定? 组合包类产品的有效期以组件中最短有效期为最终产品有效期。 对于外购件,需要考虑组件购买时的剩余效期及影响效期主要因素,如材料老化、灭菌有效期等。 问题二:组合包类产…

【计算机网络强化】计网强化笔记

第一章 计算机网络体系结构 1.1 计算机网络概述 1.计算机网络由若干个节点和连接这些节点的链路组成 2. 3.计算机网络的组成 ①硬件、软件、协议 ②边缘部分和核心部分 ③通信子网和资源子网 4.电路交换、报文交换和分组交换 ①电路交换 分为三步:建立连接、…

基于SpringBoot+Vue的在线问诊管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏:Java精选实战项目…

SQL面试常见题目

SQL面试常见题目涉及多个方面,包括数据查询、数据操作、表的设计与优化等。以下列举一些经典的SQL面试题目,并附上解析答案: 1. 查询一张表中重复的数据 题目: 给定一个表 employees,包含 id, name, salary 列。如何…

大型语言模型(Large Language Models)的介绍

背景 大型语言模型(Large Language Models,简称LLMs)是一类先进的人工智能模型,它们通过深度学习技术,特别是神经网络,来理解和生成自然语言。这些模型在自然语言处理(NLP)领域中扮…

丢失照片/消息/文件,当发现没有备份 Android 手机数据时急救方法

当人们发现他们没有备份 Android 手机数据时,通常为时已晚。但是,我们都不想永久丢失珍贵的照片, 消息和其他文件。这就是为什么您应该检查 遵循 5 大免费 Android 数据恢复工具和最佳替代品 他们。 排名前五的免费 Android 数据恢复软件 1.奇…

ELK-01-elasticsearch-8.15.1安装

文章目录 前言一、下载elasticsearch二、将tar包放到服务器三、解压tar包四、更改配置文件五、添加启动用户六、用elasticserch用户启动6.1 报错6.2 解决问题16.3 解决问题26.4 再次用elasticserch用户启动6.5 windows浏览器打开 七、设置开机自动启动7.1 创建启动脚本7.2 在脚…

【C++】二、数据类型 (同C)

2.1 整形 无特殊情况,一般用int 2.2实型(浮点型) 1. 单精度 foat 2. 双精度 double 输入小数时默认double,定义变量时可以使用float转换为单精度 3. 可使用科学计数法表示小数(看得懂即可) 4. 用于浮点型用…

Excel--DATEDIF函数的用法及参数含义

DATEDIF函数的用法为: DATEDIF(start_date,end_date,unit),start_date表示的是起始时间,end_date表示的是结束时间。unit表示的是返回的时间代码,是天、月、年等。如下: Datedif函数的参数含义unit参数返回值的意义"y"两个时间段之间的整年数…

推荐使用10款源代码加密软件,保护核心源代码,减少泄密风险

在现代企业中,保护核心源代码的安全变得尤为重要。源代码不仅是产品的核心资产,也是黑客和竞争对手的目标。一旦代码泄露,不仅可能导致产品安全漏洞,还会使企业的知识产权面临威胁。为了解决这一问题,源代码加密软件能…

Java反序列化利用链篇 | CC1链的第二种方式-LazyMap版调用链【本系列文章的分析重点】

文章目录 CC1链的第二种方式-LazyMap版调用链LazyMap构造payloadCC1的调用链 系列篇其他文章,推荐顺序观看~ Java反序列化利用链篇 | JdbcRowSetImpl利用链分析Java反序列化利用链篇 | CC1链_全网最菜的分析思路【本系列文章的分析重点】Java反序列化利用链篇 | CC1…

人工智能之计算机视觉的发展历程与相关技术内容,相应的模型介绍

大家好,我是微学AI,今天给大家介绍一下人工智能之计算机视觉的发展历程与相关技术内容,相应的模型介绍。本文围绕计算机视觉这一领域,以问答的形式呈现了关键问题及详细解答。内容涵盖计算机视觉的基本概念、技术原理、应用场景等…

全方位洗衣洗鞋小程序系统,重塑干洗店服务新体验;

全方位洗衣洗鞋小程序系统,重塑干洗店服务新体验; 一、核心功能革新: 1.多元化下单模式:融合上门取送、到店服务、寄存网点及智能衣柜四种便捷方式,用户轻松一键下单,享受个性化服务。 2.从下单到送回,全程…

Kotlin高阶函数func

Kotlin高阶函数func fun sum(a: Int, b: Int, someFunc: () -> Unit) {println("${a b}")someFunc() }fun myFunc() {println("计算成功") }fun main() {sum(1, 2, ::myFunc) } 输出: 3 计算成功 Kotlin函数作为参数指向不同逻辑_ketlin 将…

ubuntu中通过源码安装pointnet2_ops_lib

注:本帖所用环境为:ubuntu 24.04、 cuda 12.04 文章目录 1. 克隆 PointNet 源码库2. 安装依赖3. 编译 pointnet2_ops_lib4. 测试安装 1. 克隆 PointNet 源码库 首先,克隆 PointNet 的 GitHub 仓库: git clone https://github.co…

ML 系列:机器学习和深度学习的深层次总结(08)—欠拟合、过拟合,正确拟合

ML 系列赛:第 9 天 — Under、Over 和 Good Fit 文章目录 一、说明二、了解欠拟合、过拟合和实现正确的平衡三、关于泛化四、欠拟合五、过拟合六、适度拟合七、结论 一、说明 在有监督学习过程中,对于指定数据集进行训练,训练结果存在欠拟合…