MongoDB에 저장된 검색을 위해 ElasticSearch + Tire를 사용하고 싶습니다.루비 : ElasticSearch + 타이어 오류 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
에 대한 모든 아이디어를 어떻게 좀 해결하기 위해?
모델을 업데이트하십시오. 거기에 '필드'정의가 없습니다. 전체적으로, 앱을로드 할 때 이미 존재하지 않는 한 앱을 만들어야합니다. – karmi
@karmi : 모델에 필드를 추가했습니다. – gabriel
나는 모델을 저장했을 때 모델이 ElasticSearch 색인에 추가되지 않는다는 것이 문제라는 것을 깨달았습니다. 수동으로 추가/가져 오기를 시도했지만 작동하도록 할 수없는 것 같습니다.이 문제를 해결할 수있는 도움을 주시면 매우 감사하겠습니다. – gabriel