1. 什么是分片
Elasticsearch 中的数据组织成索引。每一个索引由一个或多个分片组成。每个分片是 Luncene 索引的一个实例,Luncene 实例可以理解成自管理的搜索引擎,用于在 Elasticsearch 集群中对一部分数据进行索引和处理查询。
2. 分片和副本
- index 包含多个 shard,创建 index 时可以在 settings 中设置分片数,不设置时默认是 5 个
- 每个 shard 都是一个最小工作单元,承载部分数据;每个 shard 都是一个 lucene 实例,并且具有完整的建立索引和处理能力。
- primary shard 的数量在创建索引的时候就固定了,不可更改
- replica shard 是 primary shard 的副本,负责容错,以及承担读请求负载
- shard 一般情况最大为 50G
- primary shard 的数量在创建索引的时候就固定了,不可更改;replica shard 的数量可以随时修改