ruby-on-rails - ruby 应用程序中缺少 searchkick 索引

标签 ruby-on-rails ruby search elasticsearch searchkick

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

Searchkick::MissingIndexError 

索引缺失 - 运行 Product.reindex

def search
  if params[:search].present?
    @product = Product.search(params[:search])
  else
    @product = Product.all
  end

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

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

最佳答案

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

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

rake searchkick:reindex CLASS=Product

所以,根据@Aref Aslani 的评论,我尝试了这个命令:

RAILS_ENV=production rake searchkick:reindex CLASS=Product

成功了!

关于ruby-on-rails - ruby 应用程序中缺少 searchkick 索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34973168/

相关文章:

ruby - 如何重构这个 Ruby sanitize hash 方法以使其更加地道?

ruby-on-rails - Rails 调试方法只输出 !binary 值

ruby-on-rails - 什么是 "map"在 Rack 中完全匹配?

elasticsearch - 嵌套过滤器在Elasticsearch 1.7中无法正常工作

php - 搜索另一个站点的搜索框

ruby-on-rails - 如何避免在简单的登陆注册表单中被其他人覆盖 hstore 记录?

ruby-on-rails - 将数据库模型转换为 Ruby On Rails 上的模型

ruby-on-rails - 使用 Heroku 设置 Paperclip Amazon S3

ruby-on-rails - 在生产应用程序中从头开始进行身份验证?

search - Twitter喜欢使用Elasticsearch和python搜索用户