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

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

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了修改方法,命令如下:

curl -XPUT http://127.0.0.1:9200/cmdb-now/_settings -d ‘{ “index” : { “max_result_window” : 100000000}}’

需要注意的是,cmdb-now这里是我ES索引的名字,因此你需要它替换成你对应的索引名称进行修改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值