1、问题简述
- 使用es做分页检索,但在使用过程中发现,当es检索的数据偏移量达到1万条后,无数据返回,查看后台日志捕获到“all shrads failed”主要异常信息。
2、原因分析
- es 默认最大检索的数据量是1万条,当分页偏移量超过1万条时,就会出现上述问题。
3、解决方法
- es 默认最大检索的数据量是1万条,当分页偏移量超过1万条时,就会出现上述问题。
3、解决方法
方法一:通过调用es API修改es检索最大数据量
输入命令:curl -H "Content-Type: application/json" -XPUT http://ip:port/索引名称/_settings -d '{ "index" : { "max_result_window" : 检索最大数据量}}'
备注:
- 该命令运行成功后无需重启es
- 不同版本es 调用上面的api 时,请求方式可能有差异,如果请求方式错误,根据日志提示修改即可。
方法二:修改elasticsearch.yml
进入vim编辑模式,在配置文件最后一行添加index.max_result_window: 检索最大数据量(注意冒号后面有1个空格)
备注:保存退出后,需要重启es



