我正在使用ElasticSearch作为我的Post
模型的rails pet项目应用程序的全文引擎。在我的posts_controller.rb
索引操作中:
def index
if params[:query]
@posts = Post.search(params[:query]).page(params[:page]).records
else
@posts = Post.paginate(page: params[:page]).order('created_at DESC')
end
end
其中,如果存在查询参数,则应过滤结果并将其呈现给index.html.erb
。
我得到的是
Elasticsearch::Transport::Transport::Errors::NotFound: [404] {"error":"IndexMissingException[[posts] missing]","status":404}
我跑了bundle exec rake environment elasticsearch:import:model CLASS='Post'
,但我仍然遇到同样的错误。
用Marvin Gaye的话说,发生了什么事?
答案 0 :(得分:4)
尝试:
jasmine.getEnv().addReporter(myReporter);
注意bundle exec rake environment elasticsearch:import:model CLASS='Post' FORCE=true
。
答案 1 :(得分:1)
这个错误也出现了,我通过以下方式解决了这个问题,
转到Rails控制台 - CTRL,然后在您的MODEL上创建索引,
MODEL_NAME.import force: true