ES报错Result window is too large问题处理

简介:

我在使用Elasticsearch进行search查询的过程中,出现了Result window is too large问题。
这里简单做一个报错复现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
In [ 1 ]:  import  requests
 
In [ 2 ]: requests.get( 'http://127.0.0.1:9200/cmdb-now/_search?page=1&size=10000000' ).json()
Out[ 2 ]:
{
     u 'error' : {
         u 'failed_shards' : [
             {
                 u 'index' : u 'cmdb-now' ,
                 u 'node' : u 'ldeZMZRAR6uZpAiIr5QxBQ' ,
                 u 'reason' : {
                     u 'reason' : u 'Result window is too large, from + size must be less than or equal to: [10000] but was [10000000]. See the scroll api for a more efficient way to request large data sets. This limit can be set by changing the [index.max_result_window] index level parameter.' ,
                     u 'type' : u 'query_phase_execution_exception'
                 },
                 u 'shard' 0
             }
         ],
         u 'grouped' True ,
         u 'phase' : u 'query' ,
         u 'reason' : u 'all shards failed' ,
         u 'root_cause' : [
             {
                 u 'reason' : u 'Result window is too large, from + size must be less than or equal to: [10000] but was [10000000]. See the scroll api for a more efficient way to request large data sets. This limit can be set by changing the [index.max_result_window] index level parameter.' ,    
                 u 'type' : u 'query_phase_execution_exception'
             }
         ],
         u 'type' : u 'search_phase_execution_exception'
     },
     u 'status' 500
}

从上面的报错信息,可以看到ES提示我结果窗口太大了,目前最大值为10000,而我却要求给我10000000。并且在后面也提到了要求我修改index.max_result_window参数来增大结果窗口大小。

我google了修改方法,命令如下:

1
curl -XPUT http: //127 .0.0.1:9200 /cmdb-now/_settings  -d  '{ "index" : { "max_result_window" : 100000000}}'

需要注意的是,cmdb-now这里是我ES索引的名字,因此你需要它替换成你对应的索引名称进行修改。
有关官方针对index的相关配置介绍,可以点击这里进行查看。









本文转自 aaao 51CTO博客,原文链接:http://blog.51cto.com/nolinux/1786656,如需转载请自行联系原作者

目录
相关文章
|
6月前
|
JavaScript 前端开发 编译器
在ts中const和readonly区别?
在ts中const和readonly区别?
73 1
|
6月前
|
关系型数据库 MySQL Linux
FATAL ERROR: Could not find my_print_defaults
FATAL ERROR: Could not find my_print_defaults
179 0
|
7月前
|
JavaScript 编译器
TS中const和readonly的区别
TS中const和readonly的区别
143 0
|
7月前
Angular启动/node_modules/@types/node/index.d.ts (20,1): Invalid ‘reference‘ directive syntax.
Angular启动/node_modules/@types/node/index.d.ts (20,1): Invalid ‘reference‘ directive syntax.
80 2
|
索引
Result window is too large, from + size must be less than or equal to: [10000]
Result window is too large, from + size must be less than or equal to: [10000]
230 0
|
机器人
DefaultRobotHWSim::initSim函数详解
DefaultRobotHWSim::initSim函数详解
DefaultRobotHWSim::initSim函数详解