写点什么

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

发布于: 2020 年 08 月 23 日
【Elasticsearch 技术分享】—— ES 常用名词及结构

前言



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



公众号:liuzhihangs,记录工作学习中的技术、开发及源码笔记;时不时分享一些生活中的见闻感悟。欢迎大佬来指导!



常用术语



|名词|*解释*|

|---|---|

| 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 的副本。 |

| document | document 是存储在 Elasticsearch 中的 JSON 文档。每个 document 都存储在索引中,并且有 type 和 id。被索引的 JSON 文档 将存储在 _source 字段中,该字段在获取或搜索文档时默认返回。|

| id | 每个 document 都有不同的 id,没有指定的话,会自动生成。|

| field |一个 document 包含字段或键值对的列表。字段类似于关系数据库中表中的列。|

| source field | 默认情况下,索引的JSON文档存储在 _source 字段中,并且将由所有 get 和 search 请求返回。这样,可以直接从搜索结果中访问原始对象,而无需执行第二步来从 ID 中检索对象。|



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





replica shard 有什么用?



  1. 增加故障转移:如果主副本发生故障,副本副本可以提升为主副本

  2. 提高性能:获取和搜索请求可以由主或副本分片处理。



默认情况下,每个主分片都有一个副本,但是可以在现有索引上动态更改副本的数量。副本分片永远不会与其主分片在同一节点上启动。



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



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



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



总结



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



发布于: 2020 年 08 月 23 日阅读数: 77
用户头像

个人公众号:『 程序员小航 』 2020.07.30 加入

某不知名互联网公司 Java 程序员一枚。记录工作学习中的技术、开发及源码笔记;分享生活中的见闻感悟。

评论

发布
暂无评论
【Elasticsearch 技术分享】—— ES 常用名词及结构