我想使用 ElasticSearch + Tire 来搜索存储在 MongoDB 中的内容。
但是,当我尝试执行搜索时出现以下错误:
轮胎::Search::SearchRequestFailed 在 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
关于如何解决这个问题的任何想法?