Searchkick with ElasticSearch returns “Faraday::ConnectionFailed: execution expired”

前端 未结 3 926
粉色の甜心
粉色の甜心 2021-01-21 03:36

I\'ve been using the searchkick gem with elasticsearch with no problems on a Rails 4.2.0 application. I have a single Video model using searchkick.

For some reason

相关标签:
3条回答
  • 2021-01-21 03:54

    Add below lines of code in config/initializers/elasticsearch.rb

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

    You can specify this according to Rails environment.

    0 讨论(0)
  • 2021-01-21 04:09

    Typically after hours of struggling I found the answer minutes after posting the question...

    As per https://github.com/ankane/searchkick/issues/382 I added an initializer with:

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

    which seems to have solved the problem. I'll report back if it recurs.

    0 讨论(0)
  • 2021-01-21 04:10

    For me, the problem was with the missing port in the URL. ( I am using AWS elasticsearch and not running it on localhost. )

    I changed

    ENV['ELASTICSEARCH_URL'] = Rails.application.credentials.dig(:elasticsearch, :url)
    

    to

    ENV['ELASTICSEARCH_URL'] = Rails.application.credentials.dig(:elasticsearch, :url) + ':443'
    

    This does not affect all my projects, so I am guessing this has to do with a newer release.

    0 讨论(0)
提交回复
热议问题