错误 429 [类型=reduce_search_phase_exception]



我的文档有很多语言,并且遵循以下模式:每种语言一个索引。因为他们建议使用

/blogs-*/post/_count

模式。就我而言,我正在对我有多少文档的索引进行计数。我同时运行我的代码,因此同时发出许多请求。如果我搜索

/blogs-en/post/_count

或任何其他语言,那么一切都很好。但是,如果我搜索

/blogs-*/post/_count 

我很快就遇到了:

"Error 429 (Too Many Requests): [reduce]  [type=reduce_search_phase_exception]
"

有解决方法吗?无论我是否使用

/blogs-en/post/_count or /blogs-*/post/_count. 

我一直在代码中使用相同数量的工作线程,但是重新排列索引以每种语言有一个索引突然破坏了我的代码。

编辑:当我启动程序时,这是一个没有任何文档的全新索引,当我收到错误时,我有大约5,000个文档,因此没有任何沉重的负载。

编辑:我正在使用上面引用的链接中找到的映射,并在具有ES所有默认值的本地计算机上运行...在我的例子中,分片= 5,副本= 1。我真的只是按照链接中的示例进行操作。

编辑:只需发出13-20个请求即可看到错误,我知道ES可以处理更多。搜索/blogs-en/post/_count 而不是/blogs-*/post/_count 等。可以轻松处理数千个,没有错误。

另一个编辑:我已经删除了所有并发性,但在出现错误之前仍然只能访问 40-50 个请求。

我没有收到该请求的错误,它返回了总文档数。
您是否在负载下群集?
无论如何,使用简单聚合,您可以获得hits.total文档总数count_per_index每个索引文档计数的结果部分:

GET /blogs-*/post/_search
{
"size": 0, 
"query": {
"match_all": {}
},
"aggs": {
"count_per_index": {
"terms": {
"field": "_index"
}
}
}
}

相关内容

  • 没有找到相关文章

最新更新