在 Elasticsearch (ES) 中,Shard(分片) 和 Replica(副本) 是其分布式架构的核心概念。理解它们对于设计高性能、高可用的搜索集群至关重要。 简单来说: Shard (分片):是为了水平扩展(能存更多数据,能并行处理)。 Replica (副本):是为了高可用(数据不丢)和提升读取性能(并发查询)。 --- 1. Shard(分片 / 主分片) 在 ES 中,一个 Index(索引) 可能包含海量的数据,这些数据可能超过了单个节点的硬件限制(如硬盘容量、处理能力)。为了解决这个问题,ES 将索引划分为多个部分,每一部分就叫做一个 Shard。 通常我们说的 Shard 指的是 Primary Shard(主分片)。 本质:每一个 Shard 本质上都是一个独立的、功能完整的 Lucene 索引。 作用: 水平扩展:允许将一个大索引的数据分布在集群的不同节点上。 并行处理:查询时,ES 可以同时在多个分片上并行搜索,从而提高性能。 关键特性: 数量固定:在创建索引时,主分片的数量一旦指定,通常不能修改(除非使用 Reindex 重建索引,或者使用 Sp...