2016-04-01 14 views
2

私は、MetaorJSアプリケーションのJavaScriptクライアント経由でAWSに接続できるElasticSearchインスタンスを実行しています。マッピング(インデックスとアナライザ)の作成やマッピングの更新は問題ありませんでした。ElasticSearch AWSリクエストタイムアウト

この問題は、インスタンスへのインデックス、更新、または削除要求があるたびに発生します。 200以上のリクエストを提供した後、ElasticSearchインスタンスはコード408で要求タイムアウトエラーをスローし始めます。最初は、複数のリクエストがうまくいくと思ったので、一括プッシュを行うことにしました。以下は、一括プッシュ要求のスニペットです。

var bulk = SearchService.ElasticQueue.splice(0, 1000); 
console.log('Size: ', bulk.length); 
if (bulk.length > 0) { 
    EsClient.bulk({ 
    body: bulk 
    }, function (error, response) { 
    if (!error) { 
     console.log(response); 
    } else { 
     console.log(error); 
    } 
    }); 
} 

SearchService.ElasticQueueは、キューの一形態であると、cronジョブは、それからデータを取得し、バルクリクエストを実行するために、頻繁に実行されます。また、一括要求の文書数を減らしてみましたが、接続設定の要求タイムアウトも増やしましたが、それは役に立たないようです。私は何か提案していただければ幸いです。

ありがとうございました。

+0

を使用してデータを取得することができます。まだ説明が見つかりません。 30秒後にタイムアウトします。あなたはまだ解決策を見つけましたか? –

+0

接続に問題があるようです。 –

+0

同じです。私は 'curl'を使ってTIMEOUTSを使っていますが、私はレコードをランダムにインデックスに追加しています。この問題を解決するのはどんな運がありますか? –

答えて

0

に使用できる唯一の方法があります:

wait_for_completion=false 

Task IDを返し、その後、あなたは我々が同様にタイムアウトを見ているこのTask ID

関連する問題