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

如何查询Elastic Search索引的分区键?有哪些可用查询语句?

Elasticsearch索引分片路由键的确定方法及查询语句

在Elasticsearch中,决定文档分配到哪个分片(即你所说的“分区”)的核心是路由键(routing key),以下是确定它的方法和对应的查询语句:

一、路由键的默认与自定义规则

  • 默认规则:如果没有做任何自定义配置,路由键就是文档的_id,系统通过hash(_routing) % 主分片数计算文档所属分片,此时_routing默认等于_id。
  • 自定义规则:
    • 索引创建时通过routing.field指定固定字段作为路由键,所有文档都会基于该字段的值路由到对应分片;
    • 写入单个文档时手动传入routing参数,临时指定该文档的路由键。

二、查询索引的路由配置信息

使用_settings API可以直接获取索引的路由相关配置:

GET /<你的索引名>/_settings

返回结果中,index.routing节点下的字段会明确路由配置:

  • 若存在index.routing.field字段,其值就是索引指定的固定路由字段;
  • 若没有该字段,则说明索引使用默认的_id作为路由键。

三、查询单个文档的路由键

如果要确认某篇文档实际使用的路由键,可以在查询文档时加上routing=true参数:

GET /<你的索引名>/_doc/<文档ID>?routing=true

返回结果里的_routing字段值,就是该文档的路由键。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 06:09:59