es分页条数限制
2024-08-31 11:22:59
"error": {
"root_cause": [
{
"type": "query_phase_execution_exception",
"reason": "Result window is too large, from + size must be less than or equal to: [1000000] but was [1000000099]. 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."
}
]
阿里云的es默认最大from为10000,控制台输入以下指令修改
PUT /index/_settings
{ "index.max_result_window" :""}
经过测试,在match_all的情况下,当from值>20w的时候查询的速度将会超过1s(1核2g)
官方解释为
在集群系统中深度分页
为了理解为什么深度分页是有问题的,让我们假设在一个有5个主分片的索引中搜索。当我们请求结果的第一页(结果1到10)时,每个分片产生自己最顶端10个结果然后返回它们给请求节点(requesting node),它再排序这所有的50个结果以选出顶端的10个结果。
现在假设我们请求第1000页——结果10001到10010。工作方式都相同,不同的是每个分片都必须产生顶端的10010个结果。然后请求节点排序这50050个结果并丢弃50040个!
你可以看到在分布式系统中,排序结果的花费随着分页的深入而成倍增长。这也是为什么网络搜索引擎中任何语句不能返回多于1000个结果的原因。
推荐使用scroll来解决问题
https://www.elastic.co/guide/en/elasticsearch/reference/6.4/search-request-scroll.html
最新文章
- Autofac - 事件
- PHP中global与$GLOBALS['']的区别
- remi
- 解决PHP move_uploaded_file函数移动图片失败
- Coursera《machine learning》--(6)逻辑回归
- DevExpress之进度条
- Unity3D移动端内存优化(NGUI方面)
- k近邻法(KNN)知识点概括
- 海外仓系统 COD货到付款到付功能
- xcode8 使用Instruments检测定位并解决iOS内存泄露
- MVC(Model -View-Controller)实例应用模式
- 关于Java8 Stream流的利与弊 Java初学者,大神勿喷
- cf500E New Year Domino (倍增)
- 20165230田坤烨《网络对抗》Exp1 PC平台逆向破解
- 【python001-IDLE】
- Jenkins 总结
- tensorflow函数(2)
- Asp.netMVC中Html.Partial,RenderPartial,Action,RenderAction区别和用法
- android 读取联系人
- web前端开发需要具备的技能
热门文章
- 手动生成WebService代理类
- 0402数据放入集合进行查询-Java(新手)
- Mysql 查询天、周,月,季度、年的数据
- Ubuntu16.04安装QQ机器人
- .gitignore排除(不忽略)二级以上目录下的文件或目录
- [模板] LCA-最近公共祖先-倍增法
- python爬取中国大学排名
- 为什么信息熵要定义成-Σp*log(p)?
- Arcgis连接SQL Server提示试图使用不支持的旧版SQL Server客户端通信软件进行连接
- coding++:error 阿里云 Redis集群一直Waiting for the cluster to join....存在以下隐患