You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用routing key进行读写时Elasticsearch索引生命周期的工作机制

Elasticsearch ILM与Routing Key相关疑问解答

1. 热到温迁移时是否会重新索引到不同分片?

默认情况下不会。ILM将数据从热节点迁移到温节点,本质是分片节点迁移(shard relocation)——整个分片(包括所有文档、元数据、路由规则)原封不动地从热节点移动到温节点,分片数量、路由哈希规则完全不变。

只有当你在ILM策略中配置了shrink(缩减分片数)、rollover后重新索引这类特殊操作时,才会生成新索引并重新分配分片,但这属于自定义策略的特殊场景,不是热到温迁移的默认行为。

2. 若发生重新索引到不同分片,Routing Key如何辅助搜索?

如果是因为ILM策略中的shrink或重新索引操作导致分片变化:

  • 只要在重新索引时为文档指定相同的routing key,新索引会沿用原有的路由哈希规则(除非你修改了索引的number_of_shards或路由配置),文档依然会被路由到对应分片;
  • 搜索时使用相同的routing key,ES会根据新索引的分片配置重新计算目标分片,依然能直接定位到存储该文档的分片,不会影响routing key的定向搜索能力;
  • 若重新索引时未指定routing key,文档会按默认规则分配分片,此时原routing key就无法再准确定位,但这种情况在ILM的常规流程中很少出现。

3. 不重新索引时,如何在相同分片上实现只读管理?

当索引进入温阶段,ILM会通过修改索引的元数据设置实现只读:

  • 自动设置index.blocks.write: true,禁止所有写入操作(包括新增、更新、删除);
  • 同时保留索引的可读权限,分片的结构、路由规则、文档位置完全不变,搜索时使用原routing key依然能直接定位到目标分片,和热阶段的搜索逻辑没有区别。

内容的提问来源于stack exchange,提问作者Ashutosh Tiwari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 15:13:26