Rails 5.1, searchkick,asticsearch на героку с амазонкой, исполнение истекло
Я ищу помощь на веб-сайте, который я строю. У меня есть поле поиска, где можно найти заголовок из сообщения. В местном все работает нормально. Я использую Rails 5.1 с гемом searchkick.
Когда я проверил GitHub SearchKick, я увидел, что вы можете использовать сервис Amazonasticsearch. У меня уже есть аккаунт для S3, поэтому я решил использовать это.
Я настроил elastisearch.rb так:
require 'faraday/middleware'
require 'faraday_middleware/aws_signers_v4'
Searchkick.client =
Elasticsearch::Client.new(
url: ENV["ELASTICSEARCH_URL"],
transport_options: {request: {timeout: 10}}
) do |f|
f.use FaradayMiddleware::Gzip
f.request :aws_signers_v4, {
credentials: Aws::Credentials.new(ENV["access_key_id"], ENV["secret_access_key"]),
service_name: "es",
region: "eu-west-1"
}
end
Это мой гемфайл:
gem 'searchkick'
gem 'elasticsearch-model'
gem 'elasticsearch-rails'
gem 'elasticsearch'
gem 'faraday_middleware'
gem 'faraday_middleware-aws-signers-v4'
ENV["ELASTICSEARCH_URL"] скрыт через драгоценный камень Figaro.
Когда я нажимаю на heroku и пытаюсь выполнить поиск, у меня появляется результат, например, не удается подключиться к localhost или что-то в этом роде. Поэтому я жестко запрограммировал URL-адрес в asticsearch.rb, просто чтобы посмотреть, что происходит, и получил следующее:
2017-12-11T17:54:13.926054+00:00 app[web.1]: [acf2f6f5-ec00-4336-b97b-0ef582380c62] [1m[33mRecipe Store (10013.7ms)[0m {"id":14,"exception":["Faraday::ConnectionFailed","execution expired"],"exception_object":"execution expired"}
2017-12-11T17:54:13.926445+00:00 app[web.1]: [acf2f6f5-ec00-4336-b97b-0ef582380c62] Completed 500 Internal Server Error in 10031ms (Searchkick: 10013.7ms | ActiveRecord: 4.7ms)
2017-12-11T17:54:13.927790+00:00 app[web.1]: [acf2f6f5-ec00-4336-b97b-0ef582380c62]
2017-12-11T17:54:13.927827+00:00 app[web.1]: [acf2f6f5-ec00-4336-b97b-0ef582380c62] Faraday::ConnectionFailed (execution expired):
2017-12-11T17:54:13.927858+00:00 app[web.1]: [acf2f6f5-ec00-4336-b97b-0ef582380c62]
Я действительно не знаю, откуда приходит ошибка.
Я также видел, что есть новая версия FaradayMiddleware. Должен ли я использовать это? Также мой URL правильный? Это может звучать глупо, но это адрес, который я нахожу в сервисе эластичного поиска Amazon, например: конечная точка VPC?
Спасибо за помощь