web-dev-qa-db-ja.com

ElasticSearchはインデックス名とストアサイズを取得します

Angularの$ httpサービスを使用して情報をキャプチャし、ng-repeatを使用して情報を反復できるように、すべてのインデックスとそのサイズのリストをキャプチャしようとしています。

<ul ng-repeat="elsindex in elsIndexHttpResponse"> <li>{{elsindex.name}}:{{elsindex.size}}</li> </ul>

私が見つけた最も近いものはこれです: http:// localhost:9200/_cat/indices?h = index、store.size

例外:

a。その応答はjson内にないため、ng-repeat <li>要素を使用して簡単に参照することはできません。そして

b。可能であれば、同じ単位サイズ(バイトなど)を反映するサイズ出力を取得します。

これに複雑なことが含まれる場合は、どこに焦点を当てればよいかについての指針に感謝します。

Elasticsearch v1.4.4を使用しています

どうもありがとう

17
Gregg

バイト単位のインデックスサイズは、 indices stats API呼び出しに含まれています

curl http://localhost:9200/_stats/indexing,store

うまくフォーマットされたJSON出力の場合、URLの最後に ?pretty を追加します。

curl http://localhost:9200/_stats/indexing,store?pretty

詳細と関連情報については、 Indices stats APIのドキュメント を参照してください。

16
Prabin Meitei

この質問の日付はすでにわかっていますが、2セント追加したいと思います。

http:// localhost:9200/_cat/indices?h = index、store.size&bytes = kb&format = json

実際にあなたが要求したものを正確に得るでしょう:

  • format = json->出力をjsonにフォーマットします
  • bytes = kb->キロバイト単位でサイズを出力します

サイズ単位に関する情報は cat APIs doc から取得されました

可能な値 バイト引数

フォーマットに関する情報はSenseでの試みであり、そのようなオプションを検出するのに非常に役立ついくつかのオートコンプリート機能があります。

乾杯。

29
Olivier

上記の回答から少しだけ変更。

curl -X GET "localhost:9200/_cat/indices?h=index,store.size&bytes=gb?pretty"

1
sonu1986