elasticsearch结果窗口限制10000[from+size小于或等于10000]

这篇具有很好参考价值的文章主要介绍了elasticsearch结果窗口限制10000[from+size小于或等于10000]。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、问题描述

Elasicsearch版本7.8,执行DSL查询

GET /my_test_sort/_search
{
  "query": {
    "match_all": {}
  },
  "from": 1,
  "size": 10000
}

结果Elasicsearch报如下错误

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

其实Elasicsearch这个错误已经提示的很明显了,甚至提出了解决方案。大概意思是说:结果窗口太大,from+size必须小于或等于10000,但我们检索的DSL中from+size=10001。我们在查询大量数据时可以采用 scroll api 这种高效的方式。结果窗口大小可以修改索引参数:max_result_window进行设置

二、问题分析

其实问题已经很明了了,我们可以查看相关官网的解释进一步赘述
elasticsearch结果窗口限制10000[from+size小于或等于10000],Elasticsearch,elasticsearch,大数据
Elasicsearch通过index.max_result_window参数控制了能够获取的数据总数from+size的最大值,默认是10000条。但是,由于数据需要从其它节点分别上报到协调节点,因此搜索请求的数据越多,会导致在协调节点占用分配给Elasticsearch的堆内存和搜索、排序时间越大。针对这种满足条件数量较多的深度搜索,官方建议我们使用Scroll

三、解决方案

已经创建好的索引,可以动态的修改max_result_window的大小

PUT /my_test_sort/_settings?preserve_existing=true
{
  "max_result_window": "200000"
}

新建索引的时候可以直接指定max_result_window的大小

PUT index_name
{
  "settings": {
    "max_result_window": "200000"
  }
}

如果没有执行DSL的环境,可以直接在服务器上执行


curl -H "Content-Type: application/json" -X PUT 'http://127.0.0.1:9200/my_test_sort/_settings?preserve_existing=true' -d '{"max_result_window" : "200000"}'

max_result_window支持的最大返回数是2^31-1,也就是2147483647文章来源地址https://www.toymoban.com/news/detail-590255.html

到了这里,关于elasticsearch结果窗口限制10000[from+size小于或等于10000]的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • mybatis中大于 ,小于 ,大于等于,小于等于 的转义字符

    mybatis中大于 ,小于 ,大于等于,小于等于 的转义字符

    实际的开发中,经常会遇到一些场景,比如 查询小于某个时间,或者是查询小于某个年龄 等。这个时候就需要在  MyBatis  的  XML  文件中使用一些  、=  等符号,但是如果直接使用的话文件会报错。可以通过下面的特殊符号转义。  注意:这是mybaits中支持的,不是sql中支

    2024年02月12日
    浏览(8)
  • js 校验 大于等于0小于等于100

    如果你想要在JavaScript中校验一个数值是否在0到100之间(包括0和100),你可以使用以下的函数: 你可以使用这个函数来检查一个值是否在指定的范围内。例如: 如果你需要在一个表单验证中使用这个函数,你可以这样做: 在这个例子中, validateRange 函数会检查用户输入的值

    2024年01月17日
    浏览(31)
  • MyBatis XML 中大于等于小于等于的写法

    第一种方法 :  XML转义字符 用了转义字符把 和 替换掉,然后就没有问题了 大于:gt; 小于:lt; 大于等于:gt;= 小于等于:lt;= 第二种方法 : ![CDATA[ sql语句 ]]语法 因为这个是xml格式的,所以不允许出现类似“”这样的字符,但是都可以使用![CDATA[ ]]符号进行说明,将此类符号

    2024年02月17日
    浏览(6)
  • Elasticsearch From/Size、Scroll、Search After对比

    Elasticsearch From/Size、Scroll、Search After对比

    Elasticsearch From/Size、Scroll、Search After对比 可以使用from和size参数对结果进行分页。from参数定义要获取的第一个结果的偏移量。 size 参数允许您配置要返回的最大匹配数。 简单来说,需要查询from + size 的条数时,coordinate node就向该index的其余的shards 发送同样的请求,等汇总到(

    2023年04月08日
    浏览(20)
  • mybatis xml 中 大于、小于、等于 写法

    在 *.xml 中使用常规的 = = = 会与xml的语法存在冲突 字符名称 sql符号 转义字符 大于号 gt; 小于号 lt; 不等于 lt;gt; 大于等于号 = gt;= 小于等于号 = lt;= 与 amp; 单引号 \\\' apos; 双引号 \\\" quot; sql语句 xml 语句 转义字符 之前不能有空格,例如: gt; 或者 g t; 都是错误的 转义字符 必须以

    2023年04月25日
    浏览(10)
  • mybatis xml 中的 大于、小于、等于 写法

    在 *.xml 中使用常规的 = = = 会与xml的语法存在冲突 字符名称 sql符号 转义字符 大于号 gt; 小于号 lt; 不等于 lt;gt; 大于等于号 = gt;= 小于等于号 = lt;= 与 amp; 单引号 \\\' apos; 双引号 \\\" quot; sql语句 xml 语句 转义字符 之前不能有空格,例如: gt; 或者 g t; 都是错误的 转义字符 必须以

    2023年04月26日
    浏览(10)
  • 【mybatis】xml 大于|小于|等于 写法及介绍

    在 *.xml 中使用常规的 = = = 会与xml的语法存在冲突 字符名称 sql符号 转义字符 大于号 gt; 小于号 lt; 不等于 lt;gt; 大于等于号 = gt;= 小于等于号 = lt;= 与 amp; 单引号 \\\' apos; 双引号 \\\" quot; sql语句 xml 语句 转义字符 之前不能有空格,例如: gt; 或者 g t; 都是错误的 转义字符 必须以

    2023年04月26日
    浏览(7)
  • leetcode2809.使数组和小于等于x的最小时间

    题目链接 2809. 使数组和小于等于 x 的最少时间 - 力扣(LeetCode) 解析思路 看不懂

    2024年01月21日
    浏览(8)
  • ElasticSearch系列 - SpringBoot整合ES:实现分页搜索 from+size、search after、scroll

    01. 数据准备 ElasticSearch 向 my_index 索引中索引了 12 条文档: 02. ElasticSearch 如何查询所有文档? ElasticSearch 查询所有文档 根据查询结果可以看出,集群中总共有12个文档,hits.total.value=12, 但是在 hits 数组中只有 10 个文档。如何才能看到其他的文档? 03. ElasticSearch 如何指定搜

    2023年04月08日
    浏览(12)
  • ElasticSearch第六讲 ES 三种分页查询from+size / Scroll /search_after

    我的Git地址:https://gitee.com/ITLULU 欢迎访问 ES的分页查询和关系数据库的分页查询的区别: ES分页查询有以下几种: 1:简单的 from size (有默认的最大Size,不可无限大小查询,因为数据过多查询性能会降低,且也要考虑内存问题,以及OS缓存数据的能力) 2: scroll基于查询窗口

    2024年02月01日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包