用于分片大小的Elasticsearch GET API

时间:2016-06-28 18:44:23

标签: json api elasticsearch sharding

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

目前我已经找到了以下方法来获取分片大小,这两种方法都存在问题:

  1. / _ recovery - >响应JSON并提供分片大小但是副本分片被报告为具有" size_in_bytes"为0,这是不正确的。

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

  3. 我已经在Google / Elastic.com上进行了大量搜索,但没有找到任何内容,但如果不可用,我会非常惊讶....

    有什么想法吗?谢谢!

2 个答案:

答案 0 :(得分:1)

Animesh是对的,_stats API是您想要的,但要获得分片级统计信息,您必须指定level parameter

curl -XGET host:9200/my-index/_stats?level=shards

level目前可以设置为以下任意一项:

  • 碎片
  • index(默认)
  • 节点

答案 1 :(得分:0)

另一种获取分片大小的方法是通过请求:

curl -XGET localhost:9200/_cat/shards?v=true&format=JSON&bytes=b (mb, gb and etc.)

这是获取分片信息的更方便、更好的方式,尤其是关于大小的信息。

弹性文档:elastic doc