首页 > 其他分享 >ES维护篇-解决reason=Result window is too large, from + size must be less than or equal to: [500000] but w

ES维护篇-解决reason=Result window is too large, from + size must be less than or equal to: [500000] but w

时间:2023-05-12 09:34:59浏览次数:39  
标签:index exception less max window reason Elasticsearch result 786820

首先搞清楚这个报错是什么意思

{"msg":"Elasticsearch exception [type=search_phase_execution_exception, reason=all shards failed]; nested exception is ElasticsearchStatusException[Elasticsearch exception [type=search_phase_execution_exception, reason=all shards failed]]; nested: ElasticsearchException[Elasticsearch exception [type=illegal_argument_exception, reason=Result window is too large, from + size must be less than or equal to: [500000] but was [786820]. 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.]]; nested: ElasticsearchException[Elasticsearch exception [type=illegal_argument_exception, reason=Result window is too large, from + size must be less than or equal to: [500000] but was [786820]. 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.]];","code":500}

 参数解释

max_result_window 是 Elasticsearch 中一个重要的搜索参数,它控制了单个搜索请求返回的最大结果数。具体来说,它定义了从搜索结果中的哪个位置开始返回结果,以及要返回多少个结果。

默认情况下,Elasticsearch 的 max_result_window 参数设置为 10000。这意味着,如果您执行一个搜索请求,请求的结果超过了 10000 条记录,那么只会返回前 10000 条记录,并且 Elasticsearch 会在响应中包含一个 hits.total 字段,该字段表示总共匹配了多少条记录。

如果您需要检索更多的结果,可以通过增加 from 和 size 参数来获取更多的结果,但是 from + size 不能超过 max_result_window 的值。如果您的搜索结果超过了 max_result_window 的值,那么 Elasticsearch 将会返回一个错误,提示您使用 scroll API 或者增加 max_result_window 的值来处理这个问题。

需要注意的是,将 max_result_window 参数设置得太大可能会影响 Elasticsearch 的性能。因此,建议在使用 max_result_window 参数时,根据实际情况和性能要求来选择合适的值。

如何使用api查询当前index.max_result_window 设置的最大限制

 要查询 Elasticsearch 群集上当前设置的 index.max_result_window 的最大限制,可以使用以下 API 请求:
GET /_cluster/settings?include_defaults=true

该请求将返回一个包含当前群集设置的 JSON 响应。如果 index.max_result_window 未显式设置,则将返回默认值。

要检查特定索引的 index.max_result_window 设置,请使用以下 API 请求:

GET /<index>/_settings?include_defaults=true

将 <index> 替换为您要查询的索引名称。此请求将返回包含该索引设置的 JSON 响应。如果 index.max_result_window 未显式设置,则将返回默认值。

请注意,如果使用默认设置,则 index.max_result_window 默认为10000。如果您需要更高的结果窗口大小,则必须显式设置此值。但是,需要注意的是,将此值设置得太高可能会影响 Elasticsearch 群集的性能,因此应该谨慎使用。

如何使用api修改index.max_result_window 设置的最大限制

您可以使用 Elasticsearch 的 API 来修改 index.max_result_window 的最大限制。下面是一些示例请求:

  1. 通过 PUT /<index>/_settings 修改单个索引的 index.max_result_window
PUT /<index>/_settings
{
  "index.max_result_window": 100000
}

将 <index> 替换为您要修改的索引名称,将 100000 替换为您想要设置的最大结果窗口大小。如上所述,需要谨慎使用较高的值,因为它可能会影响 Elasticsearch 群集的性能。

  1. 通过 PUT /_cluster/settings 修改整个集群的 index.max_result_window
PUT /_cluster/settings
{
  "persistent": {
    "index.max_result_window": 100000
  }
}

这将修改整个 Elasticsearch 集群上的 index.max_result_window 的最大限制。persistent 对象中的设置将被持久化,而 transient 对象中的设置将在集群重新启动后失效。

需要注意的是,修改 index.max_result_window 可能会对 Elasticsearch 群集的性能产生影响。如果您需要更高的结果窗口大小,建议先进行基准测试,并根据测试结果来选择合适的值。

 

标签:index,exception,less,max,window,reason,Elasticsearch,result,786820
From: https://www.cnblogs.com/rtnb/p/17392819.html

相关文章

  • 通过Serverless私有化部署ChatGPT Web
    作为开发人员,想要自己部署一个渠道访问或是想随时访问但是奈何魔法有限,又或是海外服务器太贵,不想耗费这个钱,本文借助Serverless来搭建一下私有ChatGPT服务,Serverless按照使用量来计费,个人使用下(满足工作和生活)费用相当低。本文过程较为繁琐,也有更为简便的其他方式:https:......
  • 如何用 Serverless 一键部署 Stable Diffusion?
    思路其实很简单,我们只需要将镜像里面的动态路径映射到NAS文件存储里面即可,利用NAS独立存储文件模型,扩展,语言包等,并且我们可以为管理NAS单独配置一个可视化的后台,用简单的文件上传删除的方式管理我们的文件,为此我们需要展开打镜像的脚本,为了完成全套的流程我们接下来盘一下......
  • ssl握手失败报错00000002:lib(0):func(0):reason(2)
    开发过程中ssl握手失败,使用demo验证是ok的,说明证书没啥问题,抓包看服务端收到客户端的ServerHello后就回了fin包,打印ssl的错误信息,00000002:lib(0):func(0):reason(2),错误码2,在ssl.h里查看到是#defineSSL_ERROR_WANT_READ       2怀疑是不是非阻塞socket导......
  • 【自己更换模型】如何用 Serverless 一键部署 Stable Diffusion?
    作者:寒斜上一篇讲了如何使用ServerlessDevs和函数计算快速体验部署StableDiffusion,本篇继续聊聊如何解决动态模型加载的问题,从玩起来到用起来。思路其实很简单,我们只需要将镜像里面的动态路径映射到NAS[1]文件存储里面即可,利用NAS独立存储文件模型,扩展,语言包等,并且......
  • 假期充电,用阿里云 Serverless K8s + AIGC 搭建私人代码助理
    作者:子白、冬岛AI技术正在引领科技创新浪潮,随着ChatGPT和Midjourney的走红,AIGC技术正在世界范围内掀起一股AI技术浪潮。开源领域也涌现了许多类似模型,如FastGPT、Moss、StableDiffusion等。这些模型展现出的惊人效果吸引企业和开发者们投身其中,但是复杂繁琐的部署方式......
  • Setup passwordless between servers by manual
    陷阱Linux7开始,默认在selinux级别上都有所增强,特别对于.ssh文件的上下文属性必须是ssh_home_t,否则导致其他权限都正确的情况下,passwordlessssh还是会失败。1.Configthessh-/etc/ssh/ssh_config#-ensurethecorrectvaluesforthefollowingparametersPassword......
  • 《SQLi-Labs》03. Less 11~15
    目录Less-11知识点题解Less-12题解Less-13题解Less-14题解Less-15知识点题解sqli。开启新坑。Less-11知识点第十一关页面发生了变化,是账户登录页面。那么注入点在输入框。前十关使用的是get请求,参数都体现在url上,而十一关是post请求,参数在表单里。可以直接在输入框......
  • AWS Serverless Lambda Function架构设计的几种方式
    如何构建大型Serverless应用从路由方式上,Lambda大致可以分为三种架构方式1:单体应用式这种方式和传统RESTAPI很相似,以nodejs为例,在service内部使用express框架作路由,如下图所示代码示例如下constexpress=require('express')constapp=express()app.listen(80,()=>......
  • AI 作画火了,如何用 Serverless 函数计算部署 Stable Diffusion?
    作者:寒斜立即体验基于函数计算部署StableDiffusion:https://developer.aliyun.com/topic/aigcAIGC领域目前大火,除了Chatgpt,在文生图领域StableDiffusion大放异彩,深刻的地影响着绘画、视频制作等相关领域。利用这项技术,普通人也可以制作出令人惊叹的艺术作品。今天我们将......
  • 《SQLi-Labs》02. Less 6~10
    目录Less-6知识点题解Less-7题解Less-8题解Less-9知识点题解Less-10题解sqli。开启新坑。Less-6知识点布尔盲注。与Less-5基本相同。这里只简略写大致步骤。length()函数:返回字符串所占的字节数。ascii()函数:返回字符串最左字符的ASCII值。如果是空字符串,返回0。如......