ElasticSearch + Tire を使用して、MongoDB に保存されている検索を行いたいと考えています。
ただし、検索を実行しようとすると、次のエラーが表示されます。
Tire::Search::SearchRequestFailed in SearchController#index
404 : {"error":"IndexMissingException[[events] missing]","status":404}
私が理解していることから、これは、実行時にインデックスを生成するように指示したにもかかわらず、イベントのインデックスが欠落していることを示していますdb:setup
。
モデル:
class Event
include Mongoid::Document
include Mongoid::Timestamps
include Tire::Model::Search
include Tire::Model::Callbacks
field :name, :type => String
field :description, :type => String
field :started_at => Time
field :ended_at => Time
def to_indexed_json
self.as_json
end
end
コントローラ:
def search
Event.tire.search(params[:q])
end
これを解決する方法についてのアイデアはありますか?