Elasticsearch的核心概念

Elasticsearch的核心概念

1. 索引(index)

一个索引就是一个拥有几分相似特征的文档的集合。(对应mysql中的数据库)

2. 文档(document)

一个文档是一个可被索引的基础信息单元,也就是一条数据。(对应mysql中的表中一行)
文档以JSON格式来表示,而JSON是一个到处存在的互联网数据交互格式。

3. 字段(Field)

相当于是数据表的字段,对文档数据根据不同属性进行的分类标识。(对应mysql中的表中的字段)

4. 映射(mapping)

mapping是处理数据的方式和规则方面做一些限制,如:某个字段的数据类型、默认值、分析器、是否被索引等等,这些都是映射里面可以设置的。

5. 分片(shards)

一个索引可以存储大量的数据,但是在单节点上存储会受到硬件的限制,所以需要把完整的索引数据拆分成几块,每一块放在不同的服务器节点上,来统一提供服务,它们合在一块,就是完整的索引数据。所以每一部分每一块,称之为分片。

分片很重要,主要有两方面的原因:

  1. 允许你水平分割/扩展你的内容容量。
  2. 允许在分片之上进行分布式的,并行的操作,进而提高性能/吞吐量。

6. 副本(replicas)

一旦某一个分片的数据丢失了,它的副本还在,依然可以提供服务。
副本很重要,有两个原因:

  1. 在分片/节点失败的情况下,提供了高可用性。
  2. 扩展搜索量/吞吐量,因为搜索可以在所有的副本上并行运行。

7. 分配(Allocation)

将分片分配给某个节点的过程,包括分配主分片或者副本。如果是副本,还包含从主分片复制数据的过程。这个过程是由master节点完成的。

8.扩展知识:

  1. 主分片(指这里的分片)的数目在索引创建时就已经确定了下来,创建之后是无法再改的。
  2. 副本可以随时扩展。
    以下是副本的扩展JSON(users是索引名称)
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值