2016-06-28 71 views
1

使用Elasticsearch 2.3.3,有沒有一種方法可以使用返回JSON的GET API獲取碎片大小?Elasticsearch GET API用於碎片大小

目前我發現下面的方法來得到碎片的大小,這兩者是有問題的:

  1. /_recovery - >使用JSON響應並提供碎片大小,但副本碎片被報告爲「SIZE_IN_BYTES」作爲0這是不正確的。

  2. /_cat/shards - >提供正確的/所需的信息但不是JSON和大小以非均勻單位作爲字符串報告(例如3.2KB,4.9MB等)。這個端點更適合視覺消費,而我想通過AJAX調用以編程方式使用響應。

我已經做了很多在谷歌搜索的/ Elastic.com,但沒有發現任何東西,但我想,如果它是不可用....

任何想法很驚訝?謝謝!!

+2

您是否嘗試過'_stats' API? https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-stats.html –

+0

嘿Animesh,是的,_stats似乎更關注「使用」靜態(「query_cache」,「request_cache」, 「搜索」,「獲得」等)。唯一的碎片信息我看到的是一個非常高的水平的總結: _shards:{ 總:10, 成功:5, 失敗:0 },這要求該索引詳細視圖時/ [INDEX_NAME]/_統計 –

回答

1

的Animesh是正確的,該_stats API是你想要的,但要獲得碎片級別的統計資料,必須指定level parameter

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

level目前可以被設置爲任意的:

  • 碎片
  • 指數(默認)
  • 節點
+0

感謝細節pickypg,沒有看到文檔頁面底部的那一行(甚至沒有一個例子URL !!! haha​​ha),但是,我的錯誤是沒有仔細閱讀! Animesh感謝你! –