ElasticSearchのちょっとしたコマンド集


筆者は自然言語関連の仕事をしています。世の中的には「自然言語処理=ディープラーニングとか機械学習系のもの」みたいなイメージができつつありますが、現場ではElasticSearchなど検索エンジンのほうが実用的だったりするシーンが多いなと感じてます。

ElasticSearchを使っているとcurlコマンドでちょっと確認できると便利ですよね。自分でコピペして使う用もかねて確認でよく使うものを集めてみました。

各コマンド末尾にパラメータpretty=trueがついてますが、これをつけると出力のJSONがインデントして見やすく表示されます。

インデックスの一覧

ElasticSearchのインデックスの一覧を表示します。

curl "localhost:9200/_aliases?pretty=true"

結果の例

{
  "demo" : {
    "aliases" : { }
  },
  "demo2" : {
    "aliases" : { }
  },
  "demo3" : {
    "aliases" : { }
  },
  "myindex" : {
    "aliases" : { }
  }
}

インデックスに登録されているデータの件数

指定されたインデックス(以下では"demo")に登録されているデータの件数を表示します。

curl "localhost:9200/demo/_count?pretty=true"

結果の例

{
  "count" : 120,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "skipped" : 0,
    "failed" : 0
  }
}

最近知ったのですが、ワイルドカード「*」を付けるとそのパターンに当てはまるインデックスの件数を合算してくれるようです。例えば以下なら、"demo", "demo2", "demo3" の件数を合算です。

curl "localhost:9200/demo*/_count?pretty=true"

おわりに

もう少し色々と載せたかったのですが、おいおい追記していくことにします。

普段はこちらの会社で自然言語関連の業務をしています。
ElasticSearchやKivanaなどのシステム構築をお考えの方はぜひお声がけください。
アイフォーカス・ネットワーク株式会社