Elasticsearch / Rails / Ruby

Blog::PostElasticsearch::Modelincludeしているとして

Blog::Post.__elasticsearch__.client.perform_request(:get, 'blog-posts/_count').body
=> {"count"=>2, "_shards"=>{"total"=>5, "successful"=>5, "failed"=>0}}

という感じで任意のHTTPリクエストを送れます。

Awesome Printを使えば結果も見やすくなります。

ap Blog::Post.__elasticsearch__.client.perform_request(:get, 'blog-posts/_count').body
{
      "count" => 2,
    "_shards" => {
             "total" => 5,
        "successful" => 5,
            "failed" => 0
    }
}

メソッドのインタフェースは

(Object) perform_request(method, path, params = {}, body = nil)

となっています。ドキュメントはこちら

これでいちいちcurlやMarvelに切り替えなくてもサクッとElasticsearchの応答を確認できますね。