MongoDBに保存されている検索にElasticSearch + Tireを使いたいです。Ruby:ElasticSearch + TireエラーTire :: Search :: SearchRequestFailed - IndexMissingException?
404 : {"error":"IndexMissingException[[events] missing]","status":404}
私が理解から
タイヤ::検索:: SearchControllerの#インデックスにSearchRequestFailed、:私は、検索を実行しようとすると、
はしかし、私は次のエラーを取得していますこれは、私が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
これを解決する方法上の任意のアイデアしてください?
モデルを更新してください - そこには 'field'定義はありません。あなたがアプリをロードするときには、すべてが、既に存在していない限り、作成されるべきです。 – karmi
@karmi:モデルにフィールドを追加しました。 – gabriel
私は、モデルが保存されたときにモデルがElasticSearchインデックスに追加されていないという問題が発生していることに気付きました。私は手動で追加/インポートしようとしましたが、動作させることができません...これを解決するための助けがあれば幸いです。 – gabriel