news 2026/2/24 12:43:55

42、Elasticsearch 索引分片与容量规划全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
42、Elasticsearch 索引分片与容量规划全解析

Elasticsearch 索引分片与容量规划全解析

在使用 Elasticsearch 时,索引分片的数量是将文档路由到分片的算法中的一个重要元素,其路由公式为:

shard = hash(routing) % number_of_primary_shards

当索引的分片数量不足时,我们唯一的选择是将数据重新索引到一个更大、分片更多的新索引中,但这会耗费大量时间。其实,我们可以通过预先规划,进行分片超额分配来避免这个问题。

分片超额分配

一个分片只能存在于一个节点上,但一个节点可以容纳多个分片。假设我们创建一个索引时使用两个主分片而不是一个:

PUT /my_index { "settings": { "number_of_shards": 2, "number_of_replicas": 0 } }

上述代码创建了一个包含两个主分片且无副本分片的索引。在只有一个节点的情况下,两个分片都会被分配到该节点。从应用程序的角度来看,一切功能与之前相同,因为应用程序是与索引进行通信,而不是与分片通信,并且仍然只有一个索引。

当我们添加第二个节点时,Elasticsearch 会自动将一个分片从第一个节点移动到第二个节点。迁移完成后,每个分片将获得之前两倍的计算能力。通过这种方式,我们只需将一个分片通过网络复制到新节点,就能够将容量翻倍,而且整个过程无需停机,所有索引和搜索请求在分片移动期间都能正常运行。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/23 17:37:58

Axure RP11 Mac版完整汉化终极指南:告别英文界面困扰

Axure RP11 Mac版完整汉化终极指南:告别英文界面困扰 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包,不定期更新。支持 Axure 9、Axure 10。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还…

作者头像 李华
网站建设 2026/2/21 3:39:04

通达信缠论分析插件:快速掌握股票走势的终极指南

通达信缠论分析插件:快速掌握股票走势的终极指南 【免费下载链接】Indicator 通达信缠论可视化分析插件 项目地址: https://gitcode.com/gh_mirrors/ind/Indicator 还在为复杂的缠论分析感到困惑吗?通达信缠论分析插件能够自动识别关键结构&#…

作者头像 李华
网站建设 2026/2/22 4:08:31

突破性Vue动态表单生成器:重新定义可视化零代码开发范式

突破性Vue动态表单生成器:重新定义可视化零代码开发范式 【免费下载链接】vue-form-making A visual form designer/generator base on Vue.js, make form development simple and efficient.(基于Vue的可视化表单设计器,让表单开发简单而高效…

作者头像 李华
网站建设 2026/2/22 6:13:03

24、ElasticSearch 插件开发指南

ElasticSearch 插件开发指南 在开发 ElasticSearch 插件时,我们会涉及多种类型的插件开发,包括 REST 插件、集群动作插件和分析器插件。以下将详细介绍这些插件的开发过程。 测试部分的 Maven 插件定义 为了完成测试部分,需要定义一个执行测试的 Maven 插件,如下所示: …

作者头像 李华
网站建设 2026/2/21 14:38:54

告别复杂训练流程:GPT-SoVITS一键式语音克隆教程

告别复杂训练流程:GPT-SoVITS一键式语音克隆教程 你有没有想过,只需要一段几十秒的录音,就能让AI用你的声音朗读任何文字?这不再是科幻电影里的桥段——借助 GPT-SoVITS,如今只需几分钟准备、一个消费级显卡&#xff0…

作者头像 李华