分片大小的 Elasticsearch GET API

Jas*_*igh 4 api json sharding elasticsearch

使用 Elasticsearch 2.3.3,有没有办法使用返回 JSON 的 GET API 获取分片大小?

目前我发现了以下获取分片大小的方法,这两种方法都有问题:

  1. /_recovery -> 使用 JSON 响应并提供分片大小但报告副本分片的“size_in_bytes”为 0,这是不正确的。

  2. /_cat/shards -> 提供正确/所需的信息,但不是 JSON,大小以非统一单位报告为字符串(例如 3.2KB、4.9MB 等)。此端点更多用于视觉消费,而我想通过 AJAX 调用以编程方式消费响应。

我在 Google/Elastic.com 上做了很多搜索,但没有找到任何东西,但如果它不可用,我会感到非常惊讶......

有任何想法吗?谢谢!!

pic*_*ypg 5

Animesh 是对的,_statsAPI 是您想要的,但是要获得分片级别的统计信息,您必须指定level参数

curl -XGET host:9200/my-index/_stats?level=shards
Run Code Online (Sandbox Code Playgroud)

level目前可以被设置为任意的:

  • 碎片
  • 索引(默认)
  • 节点