开发者社区> liuzhihang> 正文

【Elasticsearch 技术分享】—— ES 常用名词及结构

简介: 看完什么是 Elasticsearch 以及了解到了倒排索引的概念,下面就熟悉下 ES 中常用的一些名词。
+关注继续查看

image.png


前言


看完什么是 Elasticsearch 以及了解到了倒排索引的概念,下面就熟悉下 ES 中常用的一些名词。


常用术语

名词解释
cluster一个或者多个 node 指定相同的 cluster name,则它们会组成集群,并且自动选举 master,以及在故障时自动选举。
node节点是属于集群的Elasticsearch的运行实例 。在启动时,节点将使用单播来发现具有相同集群名称的现有集群,并将尝试加入该集群。
index类似关系数据库的表,映射一个或者多个主分片,同时拥有零个或多个副本分片。
index alias索引别名是用于引用一个或多个现有索引的辅助名称。大多数Elasticsearch API接受索引别名代替索引名称。
mapping每个 index 都有一个 mapping ,定义一个 type 以及许多索引范围的设置。mapping 可以明确定义,也可以在为文档建立索引后自动生成。
shard分片是单个Lucene实例。最小的工作单位,由Elasticsearch自动管理。索引是指向主分片和副本分片的逻辑命名空间。
primary shard每个文档都存储在一个主分片中。当您为文档建立索引时,将首先在主 shard 上建立索引,然后在主 shard 的所有副本上建立索引。默认情况下,索引具有一个主分片。您可以指定更多的主要分片来扩展 索引可以处理的文档数量。创建索引后,您将无法更改索引中的主要分片数量。但是,可以使用split API将索引拆分为新索引 。
replica shard每个主分片可以具有零个或多个副本。副本是 primary shard 的副本。
documentdocument 是存储在 Elasticsearch 中的 JSON 文档。每个 document 都存储在索引中,并且有 type 和 id。被索引的 JSON 文档 将存储在 _source 字段中,该字段在获取或搜索文档时默认返回。
id每个 document 都有不同的 id,没有指定的话,会自动生成。
field一个 document 包含字段或键值对的列表。字段类似于关系数据库中表中的列。
source field默认情况下,索引的JSON文档存储在 _source 字段中,并且将由所有 get 和 search 请求返回。这样,可以直接从搜索结果中访问原始对象,而无需执行第二步来从 ID 中检索对象。

画图出来就是下面这个样子

image.png


replica shard 有什么用?

  1. 增加故障转移:如果主副本发生故障,副本副本可以提升为主副本
  2. 提高性能:获取和搜索请求可以由主或副本分片处理。
    默认情况下,每个主分片都有一个副本,但是可以在现有索引上动态更改副本的数量。副本分片永远不会与其主分片在同一节点上启动。


除了定义索引应具有的主分片和副本分片的数量外,您无需直接引用分片。相反,您的代码应仅处理索引。


Elasticsearch 在 集群中的所有节点之间分配分片,并且在节点发生故障或添加新节点的情况下,可以自动将分片从一个节点移动到另一个节点。

分片 默认是 5个,副本默认为 1个。


总结


这篇文章简单介绍了 ES 的常用名词,因为只有了解到这些名词,在小伙伴讨论 ES 的时候,才不会一脸懵逼。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
19808 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
29161 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
22538 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
16451 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
20699 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
23580 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
14900 0
+关注
liuzhihang
个人公众号:『 程序员小航 』
90
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载