Elasticsearch7.8.0版本进阶——核心概念
Posted 小志的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch7.8.0版本进阶——核心概念相关的知识,希望对你有一定的参考价值。
目录
一、Elasticsearch核心概念 vs 数据库核心概念
-
核心概念的理解
Elasticsearch核心概念 数据库核心概念 索引(Index ) ES中的Index 相当于数据库中的每一个库 类型(Type) ES中的Type相当于数据库中的每一张表 文档(Document ) ES中的Document相当于数据库中的每一行数据 字段(Field ) ES中的Field 相当于数据库中表的字段 映射(Mapping ) ES中的Mapping 相当于数据库中表的字段限制(如:数据类型、默认值) 分片(Shards ) ES中的Shards 相当于数据库中的多张表(即分表) 副本(Replicas) ES中的Replicas相当于数据库中的多张表(即分表)的备份
二、Elasticsearch核心概念理解
2.1、索引(Index )
- 一个索引由一个名字来标识(必须全部是小写字母),并且当我们要对这个索引中的文档进行索引、搜索、更新和删除的时候,都要使用到这个名字。
- 在一个集群中,可以定义任意多的索引。
- 能搜索的数据必须索引,这样的好处是可以提高查询速度。
- Elasticsearch 索引的精髓:一切设计都是为了提高搜索的性能。
2.2、类型(Type)
- 在一个索引中,你可以定义一种或多种类型。
- 一个类型是你的索引的一个逻辑上的分类/分区。
elasticsearch版本 类型(Type ) 5.x 支持多种 type 6.x 只能有一种 type 7.x 默认不再支持自定义索引类型(默认类型为:_doc)
2.3、文档(Document )
- 一个文档是一个可被索引的基础信息单元,也就是一条数据。
- 文档以 JSON(Javascript Object Notation)格式来表示。
- 在一个 index/type 里面,你可以存储任意多的文档。
2.4、字段(Field)
- 相当于是数据表的字段,对文档数据根据不同属性进行的分类标识。
2.5、 映射(Mapping )
- 映射是处理数据的方式和规则方面做一些限制,如:某个字段的数据类型、默认值、
分析器、是否被索引等等。 - 处理 ES 里面数据的一些使用规则设置也叫做映射,按着最优规则处理数据对性能提高很大,因此才需要建立映射。
2.6、 分片(Shards)
- 将索引划分成多份的能力,每一份就称之为分片。
- 当你创建一个索引的时候,你可以指定你想要的分片的数量。每个分片本身也是一个功能完善并且独立的“索引”,这个“索引”可以被放置到集群中的任何节点上。
- 分片重要的原因:
(1)、允许你水平分割 / 扩展你的内容容量。
(2)、允许你在分片之上进行分布式的、并行的操作,进而提高性能/吞吐量。 - 至于一个分片怎样分布,它的文档怎样聚合和搜索请求,是完全由 Elasticsearch 管理的。
2.7、 副本(Replicas)
- Elasticsearch 允许你创建分片的一份或多份拷贝,这些拷贝叫做复制分片(副本)。
- 复制分片之所以重要,有两个主要原因:
(1)、在分片/节点失败的情况下,提供了高可用性。因为这个原因,注意到复制分片从不与
原/主要(original/primary)分片置于同一节点上是非常重要的。
(2)、扩展你的搜索量/吞吐量,因为搜索可以在所有的副本上并行运行。
2.8、 分配(Allocation)
- 将分片分配给某个节点的过程,包括分配主分片或者副本。如果是副本,还包含从主分
片复制数据的过程。这个过程是由 master 节点完成的。
以上是关于Elasticsearch7.8.0版本进阶——核心概念的主要内容,如果未能解决你的问题,请参考以下文章