Railsで使えるGem

ElasticSearchをRubyから使う~elasticsearch-ruby

投稿日:

gem elasticsearch-ruby

前提として、ubuntu serever 14.04にelasticsearchがインストール済みの環境とします.

elasticsearch-rubyはRubyでElasticsearchを使うことができるgem.

elastic/elasticsearch-ruby

その他に、railsから使うことを想定したelasticsearch-railsやrailsのモデルと容易にインテグレートできるsearchkickといったgemがある.

elasticsearch-rubyは、elasticsearch-apiとelasticsearch-transportとに分けられる.
elasticsearch-apiはElasticsearchのREST APIを操作でき、elasticsearch-transportはclusterに接続することができる.

参考: Elasticsearch API 一覧

今回はelasticsearch-apiを触ってみた.

環境

ElasticSearch 1.5.2
gem
elasticsearch (1.0.8)
elasticsearch-api (1.0.7)
elasticsearch-transport (1.0.7)

インスタンス作成

メソッド一覧

情報取得

ドキュメントの作成

index、typeを指定して、bodyでデータを挿入する.
idを指定しないと、idは自動で作成される.

ドキュメントの更新

updateメソッドでは、パーシャルアップデートをする.

ドキュメントの作成・更新

indexメソッドは、ドキュメントがなければ作成して、あれば更新する.

ドキュメントの読込

getメソッドでindex、type、idを取得して対象ドキュメントを取得できる.

mgetメソッドで複数のドキュメントを取得できる.

ドキュメントの検索

searchで検索する.

全インデックス対象

elasticsearchのクエリーを投げることもできる.
term句
value: ‘world’に10倍の価値をつける

terms句
配列の語句の2つ両方に該当する.

配列の語句の少なくとも2つに該当する.

match句
検索語句自体を分析して最適なクエリーを作成する.

ドキュメントの削除

deleteメソッドでidを指定してドキュメントを削除できる.

-Railsで使えるGem
-,

執筆者:

関連記事

RubyでWebを操作できるMechanizeの利用例を集めてみた

By: nubobo – CC BY 2.0 目次1 公式2 使い方など3 リンク 公式 mechanize.rubyforge.org/ 使い方など Mechanize について 楽々ス …

Ruby+guardでSass+Compass+CoffeeScriptの自動コンパイル環境を整える

    Ubuntu12.04.1でCoffeeScriptの自動makeとブラウザの自動リロード~guard-coffeescript すでにCoffeeScriptを自動Mak …

RailsでECサイト構築4 確認メールを送る~spree

  spreeでは注文したときと発送したときにメールを送信できるように設定できるので、やってみた   目次1 設定2 翻訳 設定 管理画面から設定>メールシステムの設定から これで …

Mac OSXにHyper EstraierのRuby Bindingをインストールする

By: Kanko* – CC BY 2.0 目次1 環境2 Hyper Estraierのインストール3 ソースのダウンロード4 パッチを適用する5 rvmのためにconfigureファ …

Deviseのユーザーと既存のMongoidモデルを関連づける

前提 Rails3.2でHTML5で取得した位置情報をMongoDBに保存してGoogleMapsでみる~mongoid、gmaps4rails Rails3.2+Mongoidでログイン機能~dev …