江の島エンジニアBlog
Elasticsearch

elasticsearch-railsで任意のリクエストを送れるperform_requestメソッドが便利

elasticsearch-railsのソースを軽く読んでいたら、任意のリクエストを送れるperform_requestという便利メソッドがあったので紹介します。 (2014/10/31)

elasticsearch-railsで任意のリクエストを送れるperform_requestメソッドが便利

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の応答を確認できますね。

  • このエントリーをはてなブックマークに追加
  • follow us in feedly