ruby 应用程序中缺少 searchkick 索引

Bry*_*yan 4 ruby search ruby-on-rails elasticsearch searchkick

我尝试在我的应用程序中使用 Searchkick。但是,我得到

Searchkick::MissingIndexError 
Run Code Online (Sandbox Code Playgroud)

索引缺失 -run Product.reindex

def search
  if params[:search].present?
    @product = Product.search(params[:search])
  else
    @product = Product.all
  end
Run Code Online (Sandbox Code Playgroud)

我运行 Produc.reindex 但它没有解决问题。我还尝试了以下操作:rake searchkick:reindex:all并且我收到了Reindex complete消息,其后是rake db:migrate; 但是,当我提交搜索查询时,我遇到了相同的缺失索引错误。

任何意见和建议将不胜感激

小智 5

使用 Rails 4.1.8 和 Elastic Search 2.4.6,我在生产环境中遇到了同样的问题,当我尝试访问自动完成操作的操作 URL 时,我收到了相同的Index missing - run Product.reindex错误消息。然而,在开发环境中,Elastic Search 运行没有问题。

通常,我使用以下命令来重新索引我的类:

rake searchkick:reindex CLASS=Product
Run Code Online (Sandbox Code Playgroud)

因此,根据@Aref Aslani 评论,我尝试了这个命令:

RAILS_ENV=production rake searchkick:reindex CLASS=Product
Run Code Online (Sandbox Code Playgroud)

它成功了!