【发布时间】:2017-04-05 04:36:07
【问题描述】:
我正在为我的 Rails api 设置 Elasticsearch。 对于初学者,我在本地设置了 Elasticsearch,并且使用 elasticsearch gem 索引和搜索我的数据库没有问题
接下来,我想使用 AWS ElasticsearchService。我已经在 this guide 之后的 AWS 控制台中设置了服务和域。
对于我的生活,我无法弄清楚如何连接到它。 我有一个 AWS elasticsearch url,并试图点击它,如下所示:
require 'faraday_middleware/aws_signers_v4'
Elasticsearch::Model.client = Elasticsearch::Client.new url: 'https://search-my-cluster-abc123....es.amazonaws.com' do |f|
f.request :aws_signers_v4,
credentials: Aws::Credentials.new(ENV['AWS_ACCESS_KEY'], ENV['AWS_SECRET_ACCESS_KEY']),
service_name: 'es',
region: 'us-east-1'
end
我从 elastic 的 github 页面 here 直接采用了这种方法。但是,我似乎无法连接。
[1] pry(main)> Elasticsearch::Model.client.cluster.health
Faraday::ConnectionFailed: execution expired
我还查看了 Amazon Elasticsearch SDK,但似乎该 SDK 仅用于设置域,而不是执行实际搜索。
感谢任何帮助,谢谢。
【问题讨论】:
标签: ruby-on-rails amazon-web-services elasticsearch