一尘不染

带有ElasticSearch的Searchkick返回“ Faraday :: ConnectionFailed:执行到期”

elasticsearch

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

由于某种原因rake searchkick:reindex:all,现在无法正常运行:

重新索引视频…耙子中止了!Faraday :: ConnectionFailed:执行到期

我最初是通过安装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'但这不能解决错误。

当我将此代码部署到AWS时(以前都正常工作),在我的Mac以及Elastic Beanstalk上都会发生此问题。


阅读 278

收藏
2020-06-22

共1个答案

一尘不染

通常,经过数小时的奋斗,我在发布问题后几分钟便找到了答案。

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

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

这似乎已经解决了问题。如果再次发生,我会报告。

2020-06-22