对于我的Post模型,我正在使用ElasticSearch作为我的rails宠物项目应用的全文引擎。在我的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的话说,这是怎么回事?
发布于 2015-07-06 22:10:43
尝试:
bundle exec rake environment elasticsearch:import:model CLASS='Post' FORCE=true请注意FORCE=true。
发布于 2018-06-18 14:18:09
这个错误也发生在我身上,我通过下面的方式解决了它。
转到Rails控制台- CTRL,然后在模型上创建索引。
MODEL_NAME.import force: truehttps://stackoverflow.com/questions/27923176
复制相似问题