ElasticSearch7.x入门教程之索引概念和基础操作(三)
文章目录
- 前言
- 一、索引基本概念
- 二、索引基本使用
- elasticsearch-head插件
- Kibana使用
- 总结
前言
要想熟悉使用ES的索引,则必须理解索引相关的概念,尤其是在工作当中。
在此记录,方便开展工作。
一、索引基本概念
尽量以通俗的话语。
- 1、集群(Cluster):一个或者多个安装了 es 节点(单个服务器)的服务器组织在一起,就是集群,这些节点共同持有数据,共同提供搜索服务。
一个集群有一个名字,这个名字是集群的唯一标识,该名字成为 cluster name,默认的集群名称是 elasticsearch,具有相同名称的节点才会组成一个集群。在config/elasticsearch.yml
文件中配置集群名称:
cluster.name: my-es-app
在集群中,节点的状态有三种:绿色、黄色、红色,准确的说应该是索引分片的状态;
绿色
:节点运行状态为健康状态。所有的主分片、副本分片都可以正常工作。
黄色
:表示节点的运行状态为警告状态,所有的主分片目前都可以直接运行,但是至少有一个副本分片是不能正常工作的。
红色
:表示集群无法正常工作。
-
2、节点(Node)
集群中的一个服务器就是一个节点,节点中会存储数据,同时参与集群的索引以及搜索功能。一个节点想要加入一个集群,只需要配置一下集群名称即可。默认情况下,如果我们启动了多个节点,多个节点还能够互相发现彼此,那么它们会自动组成一个集群,这是 es 默认提供的,但是这种方式并不可靠,有可能会发生脑裂现象。所以在实际使用中,建议一定手动配置一下集群信息。 -
3、索引(Index)
索引可以从两方面来理解:
名词
:具有相似特征文档的集合。
动词
:索引数据以及对数据进行索引操作。 -
4、类型(Type)
类型
是索引上的逻辑分类或者分区。在 es6 之前,一个索引中可以有多个类型,从 es7 开始,一个索引中,只能有一个类型。在 es6.x 中,依然保持了兼容,依然支持单 index 多个 type 结构,但是已经不建议这么使用。 -
5、文档(Document)
一个可以被索引的数据单元。例如一个用户的文档、一个产品的文档等等。文档都是 JSON 格式的。 -
6、分片(Shards)
索引都是存储在节点上的,但是受限于节点的空间大小以及数据处理能力,单个节点的处理效果可能不理想,此时我们可以对索引进行分片。当我们创建一个索引的时候,就需要指定分片的数量。每个分片本身也是一个功能完善并且独立的索引。
默认情况下
,一个索引会自动创建 1 个分片,并且为每一个分片创建一个副本。 -
7、副本(Replicas)
副本也就是备份,是对主分片的一个备份。 -
8、Settings
集群中对索引的定义信息,例如索引的分片数、副本数等等。 -
9、Mapping(映射)
Mapping 保存了定义索引字段的存储类型、分词方式、是否存储等信息。 -
10、Analyzer
字段分词方式的定义。
最后,和关系型数据库对比:
关系数据库 | ElasticSearch |
---|---|
数据库 | 索引 |
表 | 类型 |
行 | 文档 |
列 | 字段 |
表结构 | 字段映射Mapping |
SQL | DSL(Domain Specific Language) |
select * from table | GET http:// |
update table set field = value | PUT http:// |
delete from table | DELETE http:// |
索引 | 全文索引 |
二、索引基本使用
在工作当中,最好结合上一篇文章的elasticsearch-head
插件和Kibana
两个工具使用,既可以可视化创建、查看,也可以代码DSL语言查询。
elasticsearch-head插件
elasticsearch-head插件比较简单,如下图:
新建索引:
结果展示:
说明
:
0、1、2、3、4 分别表示索引的分片,粗框表示主分片,细框表示副本(点一下框,通过 primary 属性可以查看是主分片还是副本)。.kibana 索引只有一个分片和一个副本,所以只有 0。
这个比较简单,就不在说了。个人觉得这个很好方便查看分片情况和简单的查询。
会使用Kibana查询之后,使用这个就更加简单。
Kibana使用
基于上一篇文章安装的Kibana,如下图:
点击下面的Dev Tools
工具菜单,就可以在右边编写DSL查询语句,查询数据了。
- 1、创建索引请求:
单纯的创建索引,没有设置字段映射。
# 默认副本为1
PUT book
注意
:索引名称不能有大写字母、索引名是唯一的,不能重复,重复创建会出错。
- 2、更新索引
索引创建好之后,可以修改其属性。
例如修改索引的副本数:
PUT book/_settings
{"number_of_replicas": 2
}
- 3、修改索引的读写权限
默认情况下,索引是具备读写权限的,当然这个读写权限可以关闭。
# 关闭索引的写权限:
PUT book/_settings
{"blocks.write": true
}# 打开索引的写权限
PUT book/_settings
{"blocks.write": false
}
其他类似的权限有:
blocks.write、blocks.read、blocks.read_only;
- 4 查看索引
GET book/_settings# 同时查看多个索引信息:
GET book,test/_settings# 查看所有索引信息:
GET _all/_settings
- 5、删除索引
head 插件可以删除索引。
Kibana删除索引。
DELETE test
删除一个不存在的索引会报错。
- 6、索引打开/关闭
# 关闭
关闭索引
POST book/_close# 打开索引
POST book/_open
当然,可以同时关闭/打开多个索引,多个索引用 , 隔开,或者直接使用 _all 代表所有索引。
- 7、索引别名
可以为索引创建别名,如果这个别名是唯一的,该别名可以代替索引名称。
POST /_aliases
{"actions": [{"add": {"index": "book","alias": "book_alias"}}]
}# 将 add 改为 remove 就表示移除别名:
POST /_aliases
{"actions": [{"remove": {"index": "book","alias": "book_alias"}}]
}# 查看某一个索引的别名:
GET /book/_alias# 查看某一个别名对应的索引(book_alias 表示一个别名):
GET /book_alias/_alias# 可以查看集群上所有可用别名:
GET /_alias
- 8、复制索引
索引复制,只会复制数据,不会复制索引配置。
总结
这篇文章,简单记录了,在Kibana中,索引的基本使用,这些在工作中,确实用得上,更多信息还是查看官网文档。
相关文章:

ElasticSearch7.x入门教程之索引概念和基础操作(三)
文章目录 前言一、索引基本概念二、索引基本使用elasticsearch-head插件Kibana使用 总结 前言 要想熟悉使用ES的索引,则必须理解索引相关的概念,尤其是在工作当中。 在此记录,方便开展工作。 一、索引基本概念 尽量以通俗的话语。 1、集群…...

Python后端flask框架接收zip压缩包方法
一、用base64编码发送,以及接收 import base64 import io import zipfile from flask import request, jsonifydef unzip_and_find_png(zip_data):# 使用 BytesIO 在内存中处理 zip 数据with zipfile.ZipFile(io.BytesIO(zip_data), r) as zip_ref:extracted_paths…...

机器学习中数据集Upsampling和Downsampling是什么意思?中英文介绍
对GPT4o大模型的Prompt如下: Datasets marked with ↓ are downsampled from their original datasets, datasets marked with ↑ are upsampled.这里的上采样和下采样是什么意思 内容援引自:paper (https://allenai.org/papers/tulu-3-repor…...

浏览器控制台中使用ajax下载文件(没有postman等情况下)
有时候,可能电脑里面没有postman(比如内网),然后又需要导出一些文件,前端又没有提供相应的功能(比如循环调用导出等),这时候我们就可以通过在控制台写代码的方式来实现了。这个还是在…...

完全二叉树的基本操作(顺序存储)
#include<iostream> #include<math.h> using namespace std;#define MaxSize 100 struct TreeNode {int value;bool isEmpty;//判断该节点是否为空 }t[MaxSize];/** *定义一个长度位MaxSize的数组,按照从上到下, *从左到右的方式依次存储完全…...

【HTTP】http与https
http与https的关系 应用层协议: http(HyperText Transfer Protocol)超文本传输协议; https(Hypertext Transfer Protocol Secure)超文本传输安全协议; 传输层协议:TCP(Tr…...

【Git多人开发与协作之团队的环境搭建】
Git多人开发与协作之团队的环境搭建 新的改变1. Git 的用途2. 分支的概念与类型3. HEAD 和分支指针如何查看 HEAD 指向的位置: 4. 常见的 Git 操作5. 常见问题与解决方法总结GitHub 项目获取实操在新电脑上运行 Git1. 安装 Git2. 配置用户名和邮箱3.配置 Git 和 SSH…...

java基础概念36:正则表达式1
一、正则表达式的作用 作用一:校验字符串是否满足规则;作用二:在一段文本中查找满足要求的内容。——爬虫 二、正则表达式 2-1、字符类 示例: public static void main(String[] args) {System.out.println("a".matc…...

java实现小程序接口返回Base64图片
文章目录 引言I java 接口返回Base64图片接口设计获取验证码图片-base64字符串获取验证码图片-二进制流arraybufferII 小程序端代码过期代码: 显示文件流图片(arraybuffer)知识扩展:微信小程序下载后端返回的文件流引言 场景: 图形验证码 背景: 接口返回arraybuffer的格式…...

网络编程并发服务器的应用
作业2:完成局域网CS模型,局域网内一个服务器,多个客户端连接一个服务器,完成局域网聊天(select函数,poll函数,完成TCP并发服务器)。 poll函数应用: 服务器部分代码&…...

数据结构——停车场管理问题
目录 1、问题描述2、逐步分析1)涉及操作2)代码实现 3、代码整合 1、问题描述 1、题目 设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列&#x…...

道品智能科技移动式水肥一体机:农业灌溉施肥的革新之选
在现代农业的发展进程中,科技的力量正日益凸显。其中,移动式水肥一体机以其独特的可移动性、智能化以及实现水肥一体化的卓越性能,成为了农业领域的一颗璀璨新星。它不仅改变了传统的农业灌溉施肥方式,更为农业生产带来了高效、精…...

AI实习--常用的Linux命令
一、基础命令 1. 切换到根目录。 cd ~ 2. 返回上一级目录。 cd .. 3. 查看当前目录下包括哪些文件和文件夹。 ls 4. 查看当前路径。 pwd 5. 将文件或文件夹剪切到目标目录下。 mv 文件所在路径 目标路径 6. 查看文本文件内容。 cat 文本文件名 7. 创建文件或文件夹…...

Python学习指南 + 谷歌浏览器如何安装插件
找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏: Python 目录 前言 Python 官方文档的使用 谷歌浏览器中如何安装插件 前言 在学习Python时,我们可能会出现这样的困惑&#x…...

研0找实习【学nlp】15---我的后续,总结(暂时性完结)
当下进展成果: nlptransformerpytorchhuggingfacebert简历环境配置表情识别文本分类 断更了快1个月,2个礼拜找实习,1个礼拜伤心,1个礼拜想我要干什么…… 承认自己的才疏学浅,了解了leetcode,和老师商量了…...

kylin麒麟银河桌面版操作系统安装部署
本文主要描述kylin麒麟银河桌面版操作系统的安装,该操作系统的安装源文件可以从kylin麒麟银河官方网站上下载,商业版本需要申请试用,开源版本可以直接下载使用。 如上所示,x86芯片处理器架构的请下载INTEL版本,华为海思…...

MyBatis插件原理及应用
🎮 作者主页:点击 🎁 完整专栏和代码:点击 🏡 博客主页:点击 文章目录 介绍<plugins>标签解析拦截器链的工作原理插件的应用场景MyBatis插件应用的四个组件InterceptorChain和Interceptor MyBatis框架…...

[M最短路] lc743. 网络延迟时间(spfa最短路+单源最短路)
文章目录 1. 题目来源2. 题目解析 1. 题目来源 链接:743. 网络延迟时间 相关链接: [图最短路模板] 五大最短路常用模板) 2. 题目解析 怎么讲呢,挺抽象的…很久没写最短路算法了。反正也是写出来了,但脱离了模板,把…...

MySQL 中的锁
MySQL 中的锁:全面解析与应用指南 在 MySQL 数据库的复杂世界里,锁是确保数据一致性、完整性以及并发控制的关键机制。无论是简单的小型应用还是复杂的企业级系统,深入理解 MySQL 中的锁对于优化数据库性能、避免数据冲突和错误都具有至关重要…...

【动手学电机驱动】STM32-FOC(8)MCSDK Profiler 电机参数辨识
STM32-FOC(1)STM32 电机控制的软件开发环境 STM32-FOC(2)STM32 导入和创建项目 STM32-FOC(3)STM32 三路互补 PWM 输出 STM32-FOC(4)IHM03 电机控制套件介绍 STM32-FOC(5&…...

【C++11】尽显锋芒
(续) 一、可变参数模板 C11支持可变参数模板,也就是说支持可变数量参数的函数模板和类模板,可变数目的参数被称 为参数包,存在两种参数包:模板参数包,表示零或多个模板参数;函数参数包:表示零…...

掌握控制流的艺术:Go语言中的if、for和switch语句
标题:掌握控制流的艺术:Go语言中的if、for和switch语句 在Go语言的编程世界中,控制流语句是构建程序逻辑的基石。if语句、for循环和switch语句是我们最常用的控制流工具,它们让我们能够根据不同的条件执行不同的代码块。本文将深入探讨这些语句的使用方法、技术细节和实际…...

飞书会话消息左右排列
飞书会话消息左右排列 1. 飞书登录后,点击头像,弹出菜单有个按钮设置 2. 3....

.net 支持跨平台(桌面)系列技术汇总
1. 首先微软老大哥的.net core 。 .NET Core 是微软开发的一个跨平台、高性能的开源框架,用于构建云和互联网连接的新型应用。 它允许开发者在 Windows、macOS 和 Linux 上使用喜爱的开发工具进行开发,并支持部署到云或本地环境。 .NET Core 是对 .NET …...

springboot 静态资源访问
最近在学习springboot,在学习中一个静态资源访问,难道了我三天,在网上找了很多的资料,又是配置,又是重写WebMvcConfigurationSupport,因为以前没有接触,本来很简单的事情走了很多弯路࿰…...

【linux学习指南】初识Linux进程信号与使用
文章目录 📝信号快速认识📶⽣活⻆度的信号📶 技术应⽤⻆度的信号🌉 前台进程(键盘)🌉⼀个系统函数 📶信号概念📶查看信号 🌠 信号处理🌉 忽略此信…...

L1G1000 书生大模型全链路开源开放体系笔记
关卡任务 观看本关卡视频后,写一篇关于书生大模型全链路开源开放体系的笔记。 视频链接:【书生浦语大模型全链路开源体系】 : 书生浦语大模型开源开放体系_哔哩哔哩_bilibili 书生大模型全链路开源开放体系笔记 在人工智能领域,大模型的…...

亚信安全与飞书达成深度合作
近日,亚信安全联合飞书举办的“走近先进”系列活动正式走进亚信。活动以“安全护航信息化 共筑数字未来路”为主题,吸引了众多数字化转型前沿企业的近百位领导参会。作为“走近先进”系列的第二场活动,本场活动更加深入挖掘了数字化转型的基础…...

深入讲解Spring Boot和Spring Cloud,外加图书管理系统实战!
很抱歉,我的疏忽,说了这么久还没有给大家详细讲解过Spring Boot和Spring Cloud,那今天给大家详细讲解一下。 大家可以和下面这三篇博客一起看: 1、Spring Boot 和 Spring Cloud 微服务开发实践详解https://blog.csdn.net/speaking_me/artic…...

【三维生成】Edify 3D:可扩展的高质量的3D资产生成(英伟达)
标题:Edify 3D: Scalable High-Quality 3D Asset Generation 项目:https://research.nvidia.com/labs/dir/edify-3d demo:https://build.nvidia.com/Shutterstock/edify-3d 文章目录 摘要一、前言二、多视图扩散模型2.1.消融研究 三、重建模型…...