我一直在使用 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/