elasticsearch-dsl(gem)でドキュメントを取得したいっ!

前回は一番シンプルな素のelasticsearchで(ElasticsearchにRubyから接続してあれこれしたいっ!)やってみたんですが、今回はDSLであれこれしようと思います。

elasticsearch-dsl(gem)のインストール

gem install elasticsearch-dsl

前回同様ですが、こちらも最終的にはGemfileに追加してbundle installする予定ですが、まずはインストールして動かしてみます。
接続にはelasticsearchも必要なので、両方インストールした状態です。

ドキュメントを取得してみる

require 'elasticsearch'
require 'elasticsearch-dsl'
include Elasticsearch::DSL

client = Elasticsearch::Client.new({log: true, url: 'localhost:9200' })

definition = search do
  query do
    term _id: 1
  end
end

user = client.search index: 'hoge', type: 'foo', body: definition