美文网首页
记一次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查询结果集失败

    使用es存储查询时有分页功能,数据量较少时并没有发现该问题。但是当数据量比较大时,要查询第101页的数据,每页数据...

  • 6.3-作用范围与排序

    聚合的作⽤范围 ES 聚合分析的默认作⽤范围是 query 的查询结果集 同时 ES 还⽀持以下⽅式改变聚合的作⽤...

  • 记一次ElasticSearch(ES)的复杂搜索。

    记一次ElasticSearch(ES)的复杂搜索。 ElasticSeach 多条件查询 因为业务需求,需要对同...

  • elasticsearch申请内存不足导致启动失败的排查

    一. 背景 swagger接口调用查询失败: es运行得好好的, 怎么突然挂了?于是,我用es head查询,如果...

  • Laravel UNION联合查询并分页

    UNION联合查询并分页 联合查询用于将两个或更多查询的结果集组合为单个结果集,该结果集包含联合查询中所有查询的全...

  • es结果集

    took:耗时,单位毫秒timed_out:是否超时—shards:shards代表索引分片,es可以把一个完整的...

  • T-SQL基础(三)之子查询与表表达式

    子查询 在嵌套查询中,最外面查询结果集返回给调用方,称为外部查询。嵌套在外部查询内的查询称为子查询,子查询的结果集...

  • Java 中的resultset

    结果集(ResultSet)是数据中查询结果返回的一种对象,可以说结果集是一个存储查询结果的对象,但是结果集并不仅...

  • LINQ基本语法

    linq关联查询存入IList<实体> select a 直接指定关联后的结果集 查询结果集存入IList<实体>...

  • Neo4j-1.10 LIMIT和SKIP子句

    LIMIT子句用来过滤或者限制查询返回的行数,修剪查询结果集的底部的结果 SKIP子句用来修剪结果集顶部的结果

网友评论

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

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