ElasticSearch AWS请求超时

时间:2016-04-01 07:00:25

标签: javascript amazon-web-services elasticsearch

我在AWS中运行了一个ElasticSearch实例,我可以通过MeteorJS应用程序中的JavaScript客户端连接到该实例。创建映射(索引和分析器)或更新映射没有问题。

只要对实例有索引,更新或删除请求,就会出现问题。在服务于200以上的请求之后,ElasticSearch实例开始抛出请求超时错误,代码为408。最初,我认为多个单一请求是casue,所以我决定进行批量推送。以下是批量推送请求的摘要。

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作业经常运行以从中获取数据并运行批量请求。我还尝试减少批量请求中的文档数量,并在连接配置中增加了请求超时,但似乎没有帮助。我将不胜感激任何建议。

感谢。

1 个答案:

答案 0 :(得分:0)

只有一种方法可以使用:

wait_for_completion=false

哪个会返回Task ID,然后您可以使用此Task ID

来提取数据