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
-,

執筆者:

関連記事

ActiveRecord使い方まとめ

By: North Carolina National Guard – CC BY 2.0 ActiveRecord入門|ドットインストールをみて個人的まとめ ActiveRecord4の …

Rails3.2からMongoDBを使ってアプリをつくってみる~mongoid

MongoDBはとても素直で扱いやすいということがわかってきたので、以前作成した郵便番号・住所の相互検索アプリをまたつくってみた 参照 MongoDBのチュートリアルをこなす KEN_ALL.CSVを …

no image

CarrierWaveのファイルをpublic以外に移す

  参照 How To: Secure Upload 現状でCarrierWaveのファイルがpublicという公開フォルダに置かれるのが気になったので調べてみた 違ってるかもしれないので自 …

no image

Rails3.2でajaxなフォルダツリーを導入する4~dynatree-rails & Drag’n’Drop

wwwendt.de/tech/dynatree/doc/dynatree-doc.html wwwendt.de/tech/dynatree/doc/samples.html 今日はドラッグアンドド …

no image

Rails3.2でテーブルの並び替えをリファクタリング~ヘルパー

環境 Rails3.2.8でテーブル並び替えのテストを作る~cucumberと正規表現 テストができたのでHelper化 目次1 現状2 helper3 index.html.erb 現状 共通部分が …