Java调用elasticSearch分页查询超过10000报错解决方案

java端报错具体错误信息如下:

Result window is too large, from + size must be less than or equal to: [10000] but was [10100]. 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.

经过在网上查询解决方案: 推荐最后一种方式

  1. 通过设置index 的设置参数max_result_window的值 ,理解的没有错的话,该方法应该是设置在es中所有的index的查询条数为100000000, eg:执行curl命令 ,需要先进行安装curl插件,参见:
curl -XPUT http://es-ip:9200/_settings -d { "index" : { "max_result_window" : 100000000}}

2. 修改集群配置config/elasticsearch.yml 文件 ,亲自测试过,重启es报 找不到,应该是没有注意下方注意事项

max_result_window: 100000

注意事项:

注意: :号和数值之间要有个空格 
   修改完配置,重启集群即可

3. 在插件elasticsearch-head插件中设置 ,如下图:clinical 为index名称。【推荐】

clinical/_settings?preserve_existing=true

{"index.max_result_window":"2000000"}

效果如下:

经验分享 程序员 微信小程序 职场和发展