【问题标题】:Elasticsearch Service (AWS) on Rails - TimeoutRails 上的 Elasticsearch 服务 (AWS) - 超时
【发布时间】:2023-03-31 14:30:01
【问题描述】:

[更新] 我只是为这个案例添加了当前端点(几天)

我将 ElasticSearch 与 Rails 一起使用,我正在使用这些宝石: - 弹性搜索导轨 - 弹性搜索模型

当我在我的开发(我的电脑)中运行 elasticsearch 时,我的设置没问题。但是当我使用 Elasticsearch AWS 的端点时,我的 rails 应用程序中会出现这条消息:

"Faraday::TimeoutError: 连接超时 - 连接 search-production-shipit-45cu5wkligv2ythnfozcnthsoi.us-east-1.es.amazonaws.com 端口 9200"

我在初始化程序中添加了这个文件:elasticsearch.rb

Elasticsearch::Model.client = Elasticsearch::Client.new host: "search-production-shipit-45cu5wkligv2ythnfozcnthsoi.us-east-1.es.amazonaws.com"

当我输入我的端点时,显示弹性搜索信息正常。

这是我在 Amazon Elasticsearch 中的策略(此示例中任何人都可以连接)

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": "es:*",
      "Resource": "arn:aws:es:us-east-1:090358380644:domain/production-shipit/*"
    }
  ]
} 

另一方面,当我执行这个命令时:

curl -XGET 'search-production-shipit-45cu5wkligv2ythnfozcnthsoi.us-east-1.es.amazonaws.com' 

端点返回这个:

{
  "status" : 200,
  "name" : "Meld",
  "cluster_name" : "090358380644:production-shipit",
  "version" : {
    "number" : "1.5.2",
    "build_hash" : "62ff9868b4c8a0c45860bebb259e21980778ab1c",
    "build_timestamp" : "2015-04-27T09:21:06Z",
    "build_snapshot" : false,
    "lucene_version" : "4.10.4"
  },
  "tagline" : "You Know, for Search"
}

【问题讨论】:

  • url_name 仅作为示例还是在您的实际代码中?
  • 连接超时通常表示url不正确,或者你的机器和端点没有连接。
  • @toddmetheny 只是一个例子。
  • @Slicedpan 很奇怪,因为我可以连接终端

标签: ruby-on-rails ruby amazon-web-services elasticsearch


【解决方案1】:

亚马逊托管的 elasticsearch 将默认端口从 9200 更改为默认 http/https 端口(80 和 443) - 请注意您的 curl 命令未指定端口

另一方面,elasticsearch ruby​​ 库假定 elasticsearch 默认为 9200。您可以通过指定 URL(使用 url 选项)或使用

来指定端口
Elasticsearch::Client.new hosts: [
  { host: 'some-host',
    port: '443',
    scheme: 'https'
  } ]

【讨论】:

    猜你喜欢
    • 2021-10-08
    • 1970-01-01
    • 2017-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多