elastic
というRパッケージを使用してAWS ElasticSearch Service(AWS ES)にクエリを実行しようとしています。サーバーに接続しようとするとエラーが発生します。両方のサーバにpingを実行する、または実際に文書を検索しようとしているかどうかR - Getting 404エラーを使用したAWS Elasticsearchサービスへの接続
install.packages("elastic")
library(elastic)
aws_endpoint = "<secret>"
# I am certain the endpoint exists and is correct, as it functions with Kibana
aws_port = 80
# I have tried 9200, 9300, and 443 with no success
connect(es_host = aws_endpoint,
es_port = 80,
errors = "complete")
ping()
Search(index = "foobar", size = 1)$hits$hits
このエラーを取得:ここ
は一例です
Error: 404 - no such index
ES stack trace:
type: index_not_found_exception
reason: no such index
resource.type: index_or_alias
resource.id: us-east-1.es.amazonaws.com
index: us-east-1.es.amazonaws.com
私はAWS ESのダッシュボードに行っていると存在するインデックスを使用していることを確認しました。なぜこのエラー?
私は、トランスポートプロトコルについて何か誤解していると思います。 elastic
はelasticsearchのHTTP APIとやりとりします。私はこれが大丈夫だと思った。
RとAWS ES間の適切な接続を確立するにはどうすればよいですか?
R version 3.3.0 (2016-05-03)
; elastic_0.7.8
AWSのバージョンが(参照http://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html)に署名するすべての要求が必要です。私はropensci/elasticパッケージがこの署名体系をサポートしているという明白な言及を見ていません。私は現時点でこれを行うCRANパッケージは認識していません。 –
ありがとう@ DavidF.Severski。私はこれを調べます。 – zephel
実際には、私たちのサーバー管理者はまだESのURLをまだ確保していないと言います。署名する必要はありません。他の考え? @ DavidF.Severski – zephel