错误 429 [类型=reduce_search_phase_exception]
Error 429 [type=reduce_search_phase_exception]
我的文档有多种语言,并且遵循以下模式:One index per language。因为他们建议使用
搜索所有索引
/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 个文档,所以没有承受任何重负载。
编辑:我在本地机器上使用上面引用的 link 和 运行 中的映射,所有默认值都是 ES...在我的例子中是 shards=5 和 replicas =1。我真的只是按照 link.
中的示例
编辑:只要发出 13-20 个请求就会出现错误,我知道 ES 可以处理更多。搜索 /blogs-en/post/_count 而不是 /blogs-*/post/_count 等。可以轻松处理数千个问题。
另一个编辑:我已经删除了所有并发,但在我收到错误之前仍然只能访问 40-50 个请求。
我没有收到该请求的错误,它 returns 总文档。
您的集群是否负载过重?
无论如何,使用简单的聚合,您可以获得 总文档数 在 hits.total
和 每个索引文档数 在 count_per_index
部分结果:
GET /blogs-*/post/_search
{
"size": 0,
"query": {
"match_all": {}
},
"aggs": {
"count_per_index": {
"terms": {
"field": "_index"
}
}
}
}
我的文档有多种语言,并且遵循以下模式:One index per language。因为他们建议使用
搜索所有索引/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 个文档,所以没有承受任何重负载。
编辑:我在本地机器上使用上面引用的 link 和 运行 中的映射,所有默认值都是 ES...在我的例子中是 shards=5 和 replicas =1。我真的只是按照 link.
中的示例编辑:只要发出 13-20 个请求就会出现错误,我知道 ES 可以处理更多。搜索 /blogs-en/post/_count 而不是 /blogs-*/post/_count 等。可以轻松处理数千个问题。
另一个编辑:我已经删除了所有并发,但在我收到错误之前仍然只能访问 40-50 个请求。
我没有收到该请求的错误,它 returns 总文档。
您的集群是否负载过重?
无论如何,使用简单的聚合,您可以获得 总文档数 在 hits.total
和 每个索引文档数 在 count_per_index
部分结果:
GET /blogs-*/post/_search
{
"size": 0,
"query": {
"match_all": {}
},
"aggs": {
"count_per_index": {
"terms": {
"field": "_index"
}
}
}
}