使用Elasticsearch 2.3.3,有没有办法使用返回JSON的GET API来获取分片大小?
目前我已经找到了以下方法来获取分片大小,这两种方法都存在问题:
/ _ recovery - >响应JSON并提供分片大小但是副本分片被报告为具有" size_in_bytes"为0,这是不正确的。
/ _ cat / shards - >提供正确/所需的信息但不是JSON,大小以非统一单位报告为字符串(例如3.2KB,4.9MB等)。这个端点更适合视觉消费,而我想通过AJAX调用以编程方式使用响应。
我已经在Google / Elastic.com上进行了大量搜索,但没有找到任何内容,但如果不可用,我会非常惊讶....
有什么想法吗?谢谢!
答案 0 :(得分:1)
Animesh是对的,_stats
API是您想要的,但要获得分片级统计信息,您必须指定level
parameter:
curl -XGET host:9200/my-index/_stats?level=shards
level
目前可以设置为以下任意一项:
答案 1 :(得分:0)
另一种获取分片大小的方法是通过请求:
curl -XGET localhost:9200/_cat/shards?v=true&format=JSON&bytes=b (mb, gb and etc.)
这是获取分片信息的更方便、更好的方式,尤其是关于大小的信息。
弹性文档:elastic doc