我一直在使用Elasticsearch的searchkick gem在Rails 4.2.0应用程序上没有问题。我有一个使用searchkick的视频模型。
由于某种原因rake searchkick:reindex:all,现在无法正常运行:
rake searchkick:reindex:all
重新索引视频…耙子中止了!Faraday :: ConnectionFailed:执行到期
我最初是通过安装elasticsearch的brew install elasticsearch,它返回:
brew install elasticsearch
警告:elasticsearch-1.3.4已经安装
我的elasticsearch安装/数据库是否可能已损坏?如果是这样,刷新它的最佳方法是什么?
根据https://www.elastic.co/guide/zh-CN/elasticsearch/reference/1.4/indices- delete- index.html我尝试了,curl -XDELETE 'http://localhost:9200/_all'但这不能解决错误。
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}})
这似乎已经解决了问题。如果再次发生,我会报告。