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

執筆者:

関連記事

no image

Rails3.2でBackbone.jsとPrivate_pubでToDoアプリをリアルタイム化(できた!)

参考 Rails3.2でリアルタイムメッセージング~Private_pub、Faye Rails3.2とBackbone.jsでToDoアプリを作ってみた~backbone-on-rails &nbs …

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

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

no image

Rails3.2+MongoDBでつくったアプリをheroku+mongoHQにアップしたよ

Stack Overflowはなんでも答えてくれる エラーメッセージをコピーしてググればたいていの答えはStack Overflowで出尽くしている 目次1 Gemfile2 herokuにアプリ作成 …

Rails3.2でリアルタイムメッセージング~Private_pub、Faye

  Railsで簡単に非同期通信ができるPrivate_pubというgemを試した もともとrubyにはFayeという非同期通信ができるgemがあったが、簡単に安全な接続ができる実装を加えた …

Ubuntu Server 12.04.1にいま流行のDiscourseをインストールしてみた

By: Wonderlane – CC BY 2.0 目次1 はじめに2 環境3 インストール4 情報 はじめに すでにGitHubのトレンドRepoでスター数がTwitterのFligh …