3

Rails 4.2.0アプリケーションで問題なくelasticsearchでsearchkick gemを使用しています。searchkick を使用する単一のビデオ モデルがあります。

何らかの理由rake searchkick:reindex:allで、次のように一貫して失敗しています。

ビデオの再インデックス中...レーキが中止されました! Faraday::ConnectionFailed: 実行期限切れ

最初にelasticsearchを経由してインストールしましbrew install elasticsearchた。これは次を返します。

警告: elasticsearch-1.3.4 は既にインストールされています

エラスティックサーチのインストール/データベースが破損している可能性はありますか? もしそうなら、それをリフレッシュするための最良の方法は何ですか?

https://www.elastic.co/guide/en/elasticsearch/reference/1.4/indices-delete-index.htmlに従って試しcurl -XDELETE 'http://localhost:9200/_all'ましたが、エラーは解決しません。

この問題は、このコードを AWS にデプロイすると、Mac と Elastic Beanstalk で発生します (両方とも以前は正常に機能していました)。

4

3 に答える 3

10

通常、何時間も苦労した後、質問を投稿してから数分後に答えを見つけました...

https://github.com/ankane/searchkick/issues/382に従って、次の初期化子を追加しました。

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

問題を解決したようです。再発したらまた報告します。

于 2015-11-06T12:06:14.120 に答える
1

config/initializers/elasticsearch.rb に以下のコード行を追加します

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

Railsの環境に合わせて指定できます。

于 2018-05-21T11:07:14.783 に答える