Quiero usar ElasticSearch + Tire para buscar almacenado en MongoDB.Ruby: ElasticSearch + Tire error Tiro :: Buscar :: SearchRequestFailed - ¿IndexMissingException?
Sin embargo, estoy recibiendo el siguiente error al intentar realizar una búsqueda:
neumáticos :: Buscar :: SearchRequestFailed en SearchController N.º
404 : {"error":"IndexMissingException[[events] missing]","status":404}
Por lo que entiendo, esto me dice que los índices faltan para el Evento, aunque le dije que los genere cuando ejecuté db:setup
.
Modelo:
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
controlador:
def search
Event.tire.search(params[:q])
end
Cualquier ideas sobre cómo resolver esto, por favor?
Actualice el modelo - No veo ninguna definición de 'campo' allí. Con todo, cuando cargues la aplicación, deberás crearla, a menos que ya exista. – karmi
@karmi: He agregado campos al modelo ahora. – gabriel
Me di cuenta de que el problema era que el modelo no se estaba agregando al índice ElasticSearch cuando se guardó. Intenté agregarlo/importarlo manualmente, pero parece que no puedo hacerlo funcionar ... Cualquier ayuda para resolver esto sería muy apreciada. – gabriel