Elasticsearch 7 系列(3) —— 核心概念

2023-11-19

elasticsearch

目录

集群(cluster)

节点(node)

索引(index)

类型(type)


 

 

 

 

要学好Elasticsearch,就得先对Elasticsearch中的概念有所了解,接下来我们就重点说说Elasticsearch中的集群、节点、索引、类型、文档、分片、映射和设置都是什么?

 

集群(cluster)

集群是由一个或多个节点组织在一起,它们共同持有完整数据,并一起提供索引和搜索功能。每个Elasticsearch集群都有一个唯一的名字标记,如果在创建Elasticsearch集群时没有显示的指定集群名称,默认的集群名称就是elasticsearch(全小写)。

 

我们可以在下方路径中找到我们集群的名字。

${ES_HOME}/config/elasticsearch.yml    
${ES_HOME}是Elasticsearch环境变量path

看过我之前Elasticsearch文章的朋友,可以跟着我下面的步骤进行查看​​​​​​​

首先 docker ps 查看运行的Elasticsearch容器id通过 docker exec -it 699965738f24 bash 命令进入容器输入 cat /usr/share/elasticsearch/config/elasticsearch.yml 进行查看集群名

 

节点(node)

每个节点都是一个Elasticsearch实例,每个实例都作为集群中的一部分,每个节点都有存储数据,参与索引和检索数据的功能。

每个节点也都是由一个名字来唯一标识的,在Elasticsearch7.X版本中,默认的节点名称就是安装部署的主机的名称。节点的名字还是挺重要的,因为在这个管理过程中,是需要确定网络中的哪些服务器对应于Elasticsearch集群中的哪些节点。

 

我们如果需要修改节点名称,只需要显示的在elasticsearch.yml文件中如下一行即可。

node.name:节点新名字

 

快看看你们的Elasitcsearch的节点名字叫什么吧,可以跟着我下方操作查看节点名,修改后也记得看看哦。

查看主机名称  hostname -f打开浏览器或Postman输入 http://localhost:9200/_nodes


图片

箭头所指就是节点的名称啦。

 

每个节点都可以通过配置指定的集群名字加入到指定的集群中,就如上面所说,如果在创建Elasticsearch集群时没有显示的指定集群名称,默认的集群名称就是elasticsearch(全小写),当多个节点启动后,它们就会自动的加入到这个默认集群中。

 

索引(index)

索引我们可以理解为是一些具有相似特征的数据(文档)组成的集合。    

 

每个索引也都是由一个唯一的名字来标识的,并且Elasticsearch要求索引的名字仅仅只能以小写字母开头,搭配有限个字符。但我建议Elasticsearch都以小写英文字母命名,如果有多个英文字母中间可以用下划线分割,到时候写Java代码时,也可以很容易的转换成驼峰命名法。

 

类型(type)

在Elasticsearch7之前是有Type概念的,你可以在同一个索引下定义一个或者多个类型,类型是索引上的逻辑分类/分区,具体是什么含义完全在于你赋予它什么使命。

Elasticsearch7开始,Type的值固定是_doc了,因此我们并不需要设置Type。

 

文档(document)

一个文档是一个能够被检索的数据单元。我们也可以理解成我们想要检索的一条完整的数据就是一个文档。例如,我们要组建一个影像检索服务,那么影像的所有能够检索的信息就可以是一条文档信息。

文档是以Json格式来表示的。   

 

分片和复制(shards & replicas)

在Elasitcsearch中,索引都是存储在每个节点中的,在每个节点中,索引也都存储在分片上。

在Elasitcsearch7之前的版本中,默认的分片数量是5个,从Elasticsearch7开始,默认的分片数量为1个了,并且所有版本单个索引最大支持的分片数量是1024个(当然你也可以通过更改参数修改更大的分片数量,但可能会造成不稳定)。

 

分片也有主分片和副本分片一说。在Elasticsearch7中主分片默认数量就是上文中所属的1片,同时也会为每个分片创建一个副本分片(副本分片数量同样也可更改,但为了安全起见,最少设置为1)。

  1. 副本分片只是主分片的一个副本,它是用来防止出现各种情况时导致数据丢失的,通俗来说就是,假设前一个持有主分片的节点挂掉了,那么一个副本分片就会变为主分片。

  2. 在索引写入数据时,新的文档将被索引写入到主分片中然后在同步到其他所有的副本分片中。

    增加副本分片数量不会增加索引的容量。

  3. 副本分片也和主分片一样也都提供数据的查询操作。

    一般情况下,索引的主分片和副本分片不会在同一个节点中。

一个索引(Index)可以存储超过节点磁盘大小的数据量,利用的正是分片,当分片设置为1的时候,索引中的所有数据都在这个分片当中。而当分片设置成多个时,每个分片都只保存索引当中所有数据的一部分。

 

映射和设置(mappings & settings)

mapping用来定义索引中文档的字段类型等信息。

setting设置一个索引的基本信息,如上文中所说的分片数量等。

 

 

往期推荐

Elasticsearch 7 系列(1) —— 入门

Elasticsearch 7 系列(2) —— 安装

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Elasticsearch 7 系列(3) —— 核心概念 的相关文章

随机推荐

  • 拉格朗日乘数法

    拉格朗日乘数法
  • attention(注意力机制)原理和pytorch demo

    目录 说明 RNN的局限性 注意力机制原理 注意力机制实现 第一步 编码 第二步 第0次打分并解码 第三步 第1次打分并解码 Demo链接和结果分析 总结 改进 说明 demo源自吴恩达老师的课程 从tensorflow修改为pytorch
  • Selenium成长之路-01如何开始学习

    为什么最近要写selenium 是因为最近有不少同事问我关于selenium的问题 所以觉得有必要来写一篇selenium 从环境搭建到框架构成都写出来 也分享一下我的selenium的点点经验 有不足之处 欢迎吐槽 学习selenium之
  • 区块链技术是如何应用到版权维护上?

    随着视频和音乐行业的迅速发展 数字出版已经形成完整的产业链 带来一些可观的收入 但是也伴随侵权的现象发生 那么区块链技术怎么运用到作品版权保护上呢 1 时间戳 我们知道区块链有一个 时间戳 这个可信时间戳由权威机构签发 能证明数据电文在一个
  • 我的百度经验目录

    百度经验目录 进一步了解基于Mathematica的图像特征检测方法 http jingyan baidu com article a501d80c44a372ec630f5eb4 html 怎么把python代码打包成exe文件 http
  • Obsidian入门

    这里讲一下Obsidian 一款支持markdown语法的笔记软件 软件上手没有难度 会基本的markdown语法可以直接使用 但是Obsidian第三方库插件社区提供了近千种插件以及各种各样的主题 可以帮助用户更好的使用它 相信很多人都跟
  • Python 导出保存 MongoDB上数据到Excel(.xls和.csv)文件

    Python 中使用MongoDB存储数据 若需要导出数据到文件 可以使用pandas或xlwings导出到Excel xls和 csv 文件 本文主要介绍Python 中导出保存MongoDB上数据到Excel xls和 csv 文件的方
  • CVPR17(backbone) - ResNeXt : 引入网络设计中的新维度cardinality

    文章目录 原文地址 论文阅读方法 初识 相知 回顾 代码 论文全称 Aggregated Residual Transformations for Deep Neural Network 原文地址 原文地址 论文阅读方法 三遍论文法 初识
  • 《一个操作系统的实现》读书笔记-- 第一章--最小的“操作系统”

    一 最简单的 操作系统 最最简单的 操作系统 就是一个最最简单的引导扇区 Boot Sector 虽然它不具有任何功能 但是它却能够直接在裸机上运行 不依赖其他软件 一个引导扇区是512个字节 并且以0xAA55为结束标识的扇区 下面就是那
  • EIoU和Focal-EIoU Loss

    1 论文 论文题目 Focal and Efficient IOU Loss for Accurate Bounding Box Regression 2 引言 CIoU Loss虽然考虑了边界框回归的重叠面积 中心点距离 高宽比 但是其公
  • 第一章:宇宙第一IDE--Visual Studio

    数据结构 是指一种计算机存储 组织数据的方式 IDE Integrated Development Environment 的缩写 表示 集成开发环境 它是一种用于提供程序开发环境的应用程序 一般包括代码编辑器 编译器 调试工具和图形化用户
  • Java调用exe程序

    String exePath D Xftp6 Xftp exe BufferedReader br null BufferedReader brError String line null try String cmd D Xftp6 Xf
  • MATLAB函数句柄

    1 何为函数句柄 函数句柄也是MATLAB中的一种常见的数据类型 它的地位类似于其它计算机语言里的函数对象 Javascript Python 函数指针 C 或者函数引用 Perl 它的作用是将一个函数封装成一个变量 使其能够像其它变量一样
  • 【NLP】自然语言处理技术在自动生成足球比赛战报上的应用

    1 背景介绍 自动生成新闻看似是一个很成熟的技术 很多年前就有各种应用 但是深入了解后我们可以发现机器自动生成的文章一般都是复述一些数字和简单的趋势变化 所以自动生成新闻的技术广泛应用在金融 体育领域 原因就是这类报道需要基于一定的事实 而
  • 模型调参之网格搜索与随机搜索

    模型调参之网格搜索与随机搜索 网格搜索法 GridSearchCV GridSearchCV GridSearchCV可以拆分成GridSearch和CV两部分 即网格搜素和交叉验证 GridSearch系统地遍历多种参数组合 通过交叉验证
  • 一文讲透彻!RobotFramwork测试框架教程(全能)

    Robot Framwork在业界早已名声大振 有很多刚学自动化测试的伙伴问我 有没有不需要编程就可以玩自动化的方法 有吗 有的 Robot Framwork 我们今天就一篇文章 把它讲得明明白白 一 Robot Framwork简述 Ro
  • 宅男福利!程序员周末看片神器,关键还开源

    本文源自自公众号开源最前线 ID OpenSourceTop 猿妹整理 别人眼中的程序员一定是这样的 每天有接不完的需求 写不完的代码 改不完的Bug 但大多数程序员偶尔也是有周末的 你是否有出现这种情况 连续加了好几天的班 好不容易迎来一
  • Python查询MySQL数据库并输出相应信息

    场景描述 将fork的编号与ip信息存储在了MySQL中 数据库为forklift 数据表名为fork info 存储格式为id num ip 那么如何用python去查询这些信息呢 分析 根据提供的MySQL表结构 想从名为fork in
  • 【千律】C++基础:打开并下载网页 -- ShellExecuteEx 和 URLDownloadToFile 函数

    include
  • Elasticsearch 7 系列(3) —— 核心概念

    目录 集群 cluster 节点 node 索引 index 类型 type 要学好Elasticsearch 就得先对Elasticsearch中的概念有所了解 接下来我们就重点说说Elasticsearch中的集群 节点 索引 类型 文