Elasticsearchのindexのデータを理解するときに使えそうなコマンドをまとめた
About
一から構築する場合ならいいんですが、すでに運用中のElasticsearchがある場合indexがどんな構造になっているのか確認するときのコマンドをまとめました。
どんなindexがあるか確認する
$ curl http://<hogehoge>/_cat/indices
indexのmappingを確認
$ curl http://<hogehoge>/{index_name}/_mapping
type一覧の取得
$ curl http://<hogehoge>/{index_name}/_mapping | jq '.{index_name}.mappings | keys'
typeの構造を取得
$ curl http://<hogehoge>/{index_name}/_mapping/{type_name}
field一覧の取得
$ curl http://<hogehoge>/{index_name}/_mapping/{type_name} | jq '.{index_name}.mappings.{type_name}.properties | keys'
補足
jqで-
などはうまく扱えないようなので、index名に含まれる場合は下記の用にします
jq -r '.["aaa-bbb-ccc"]'
この先
fieldはtypeを持っているのでそのあたりを見れば理解が進むと思いました。とりあえずこのだけわかっとけば調べられそうかな。mappingをいい感じの表とかにしれくれるツールとかあれば知りたいです!