Elasticsearch索引文档数上限疑问:_count与_stats数值差异及分片建议
Elasticsearch 分片文档数限制与分片调整问题解答
1. 分片文档数限制的参考数值
你需要参考GET /index/_stats返回的64,893,983这个数值。原因是:
GET /index/_count统计的是用户可见的顶层文档数量- 嵌套字段在Elasticsearch内部会被拆分为独立的隐藏子文档存储,
_stats返回的是分片内实际存储的所有文档(顶层文档+嵌套子文档)的总数,而Elasticsearch单分片的文档数限制(2147483519)针对的就是这个实际存储的总文档数。
2. 单台PC环境下是否需要增加主分片数量
不建议增加主分片数量,理由如下:
- 目前6400多万的总文档数远低于21亿的单分片限制,单分片完全能承载
- 单台机器的CPU、内存、磁盘资源有限,多分片会引入额外的分片协调、元数据维护开销,反而会降低查询和写入性能
- 单分片在单节点上不存在跨分片的数据协调,性能表现更稳定高效
内容的提问来源于stack exchange,提问作者Vincenzo Picarelli
相关产品推荐
相关产品推荐

