RailsとHerokuと全文検索 その2
elasticsearchを使うため色々調べ中。
クラウドサービスのbonsaiを使うため実装しておりますが、接続エラーが出てしまう。
テストとローカルでは、多分別の方法を考えた方が良いのかな。
取りあえずGemfileには、こんな感じで記述
41 # elasticsearch対応 #gem 'bonsai-elasticsearch-rails', '~> 0.0.4' gem 'elasticsearch' gem 'elasticsearch-model'
で検索機能は特定のモデルに依存するのではないようにしても良いかなと思い、concernに。
サンプルとか見ながら、取りあえずこんな記述に
require 'elasticsearch' require 'elasticsearch/model' module Searchable extend ActiveSupport::Concern included do include Elasticsearch::Model mapping do # まだ何も書いてないが、そのうち必要?まだ良く分かってない。 end def self.search(query) Elasticsearch::Model.client = Elasticsearch::Client.new host: ENV['BONSAI_URL'] Elasticsearch::Model.client.search q: query end end end
で、今でているエラー
[404] {"error":"Resource not found. Please contact support@bonsai.io for assistance.","status":404}
引き続き調査だー。
※追記 2014/08/29
こちらでやったら普通に検索出来たので単に設定の問題、書き方の問題と思われる。いずれにしても、解決!