ruby-on-rails - 带有 ElasticSearch 的 Searchkick 返回 "Faraday::ConnectionFailed: execution expired"

标签 ruby-on-rails elasticsearch searchkick

我一直在使用 searchkick gem 与 elasticsearch 在 Rails 4.2.0 应用程序上没有问题。我有一个使用 searchkick 的视频模型。

出于某种原因rake searchkick:reindex:all现在一直失败:

Reindexing Video... rake aborted! Faraday::ConnectionFailed: execution expired



我最初通过 brew install elasticsearch 安装了 elasticsearch , 返回:

Warning: elasticsearch-1.3.4 already installed



我的 elasticsearch 安装/数据库是否可能已损坏?如果是这样,刷新它的最佳方法是什么?

根据 https://www.elastic.co/guide/en/elasticsearch/reference/1.4/indices-delete-index.html我试过 curl -XDELETE 'http://localhost:9200/_all'但这并不能解决错误。

当我将此代码部署到 AWS 时,我的 Mac 以及 Elastic Beanstalk 上都会出现此问题(两者之前都可以正常工作)。

最佳答案

通常经过数小时的努力,我在发布问题几分钟后找到了答案......

根据 https://github.com/ankane/searchkick/issues/382我添加了一个初始化程序:

Searchkick.client = Elasticsearch::Client.new(hosts: ["localhost:9200"], retry_on_failure: true, transport_options: {request: {timeout: 250}})

这似乎解决了这个问题。如果它再次发生,我会回来报告。

关于ruby-on-rails - 带有 ElasticSearch 的 Searchkick 返回 "Faraday::ConnectionFailed: execution expired",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33565919/

相关文章:

elasticsearch - 如何在ElasticSearch中进行完全匹配查询?

ruby-on-rails - Capistrano Rails部署后重新启动服务

ruby-on-rails - 使用 Elasticsearch 与 Searchkick on Rails 通过关联查找用户项目?

ruby-on-rails-5 - Searchkick 同义词未按预期映射

ruby-on-rails - 在Ruby on Rails 4.0上安装时发生错误-atomic_reference.c错误71

android - Rails 4.2.1 Devise 3.5.2 未定义的方法 `token_authentication_key=' for Devise :Module

ruby-on-rails - 使用 Nokogiri 解析 XML

ruby-on-rails - 导出 ActiveAdmin CSV 中的动态列数

php - 如何在PHP中使用curl获取数据?

ruby-on-rails - 从模型重新索引后 Searchkick 索引为空