ElasticSearch AWS请求超时

问题描述 投票:2回答:1

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

谢谢。

javascript amazon-web-services elasticsearch
1个回答
0
投票

您只能使用一种方法:

wait_for_completion=false

这将返回一个Task ID然后你可以使用这个Task ID拉数据

© www.soinside.com 2019 - 2024. All rights reserved.