分片大小的 Elasticsearch GET API
Elasticsearch GET API for Shard Size
对于 Elasticsearch 2.3.3,有没有办法使用 GET API which returns JSON 获取分片大小?
目前我找到了以下获取分片大小的方法,但都存在问题:
/_recovery -> 响应 JSON 并提供分片大小,但副本分片被报告为 "size_in_bytes" 为 0,这是不正确的。
/_cat/shards -> 提供 correct/desired 信息但不是 JSON 并且大小以非统一单位报告为字符串(例如 3.2KB、4.9MB ETC。)。此端点更多用于视觉消费,而我想以编程方式使用来自 AJAX 调用的响应。
我在 Google / Elastic.com 上做了很多搜索,但没有找到任何东西,但如果没有,我会感到非常惊讶....
有什么想法吗?谢谢!!
Animesh 是对的,_stats
API 是您想要的,但是要获取碎片级别统计信息,您必须指定 level
parameter:
curl -XGET host:9200/my-index/_stats?level=shards
level
当前可以设置为以下任何一项:
- 碎片
- 索引(默认)
- 节点
另一种获取分片大小的方法是通过请求:
curl -XGET localhost:9200/_cat/shards?v=true&format=JSON&bytes=b (mb, gb and etc.)
这是获取分片信息,特别是大小信息的更方便、更好的方法。
弹性文档:elastic doc
对于 Elasticsearch 2.3.3,有没有办法使用 GET API which returns JSON 获取分片大小?
目前我找到了以下获取分片大小的方法,但都存在问题:
/_recovery -> 响应 JSON 并提供分片大小,但副本分片被报告为 "size_in_bytes" 为 0,这是不正确的。
/_cat/shards -> 提供 correct/desired 信息但不是 JSON 并且大小以非统一单位报告为字符串(例如 3.2KB、4.9MB ETC。)。此端点更多用于视觉消费,而我想以编程方式使用来自 AJAX 调用的响应。
我在 Google / Elastic.com 上做了很多搜索,但没有找到任何东西,但如果没有,我会感到非常惊讶....
有什么想法吗?谢谢!!
Animesh 是对的,_stats
API 是您想要的,但是要获取碎片级别统计信息,您必须指定 level
parameter:
curl -XGET host:9200/my-index/_stats?level=shards
level
当前可以设置为以下任何一项:
- 碎片
- 索引(默认)
- 节点
另一种获取分片大小的方法是通过请求:
curl -XGET localhost:9200/_cat/shards?v=true&format=JSON&bytes=b (mb, gb and etc.)
这是获取分片信息,特别是大小信息的更方便、更好的方法。
弹性文档:elastic doc