美文网首页
记一次ES查询结果集失败

记一次ES查询结果集失败

作者: gigglesoso | 来源:发表于2021-09-10 17:27 被阅读0次

    使用es存储查询时有分页功能,数据量较少时并没有发现该问题。但是当数据量比较大时,要查询第101页的数据,每页数据量为100,100页数据相当于要查第10000条以后的数据,这时发现es查询报错:

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

    从字面理解,es的默认的结果集窗口是10000,但是你要查询到10025条数据;这里可以采用es的scroll api查询;或者通过改变索引的max_result_window的属性值。
    上述的scroll api返回结果集为非排序的,不满足业务需求,所以不采用。
    采用修改索引的max_result_window属性值。
    修改方法如下:

    PUT your_index/_settings
    {
      "index":{
        "max_result_window":1000000
      }
    }
    

    返回结果:

    {
      "acknowledged": true
    }
    

    然后再进行查询,发现可以正常返回了。

    相关文章

      网友评论

          本文标题:记一次ES查询结果集失败

          本文链接:https://www.haomeiwen.com/subject/wprnwltx.html