【ES】--Elasticsearch的翻页详解

目录

  • 一、前言
  • 二、from+size浅分页
    • 1、from+size导致深度分页问题
  • 三、scroll深分页
    • 1、scroll原理
    • 2、scroll可以返回总计数量
  • 四、search_after深分页
    • 1、search_after避免深度分页问题

一、前言

ES的分页常见的主要有三种方式:from+size浅分页、scroll深分页、search_after分页。

二、from+size浅分页

在这里插入图片描述
查询步骤如下
(1)、先对关键字进行分词;
(2)、将词进行检索,得到多个文档的id;
(3)、去各个分片中拉取指定的数据【会耗时长】;
(4)、在协调节点上汇总各个分片数据,且按照score排序【会耗时长】;
(5)、根据from、size值,截取满足条件的查询数据,返回;
—假若索引有3个分片,那么按照规则,从各个分片各自取指定数量的数据,在协调节点进行汇总,再根据score进行排序,会根据from、size值截取满足条件的数据。
一般是:如果有的话,各个分页会返回from+size的数据,在协调节点汇总且score排序,在根据from、size值去截取对应数据。】

from+size优点
每次获取最新的记录;
能够跳页查询;
from+size缺点
同一个查询,展示另一页查询时,需要重新执行,耗时且耗内存;
Elast

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/756047.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

IT运维问题分析报告编写经验模版

IT运维问题分析报告编写经验&模版 为提高IT运维用户服务感知满意度,提高运维工作效率,完善运维基础设施建设,现对IT运维工作中存在的紧迫性问题进行分析总结,报告如下: 本文参考资料。专栏地址(50运维…

期末考试结束,成绩如何快速发布?

随着期末考试的落幕,老师们又迎来了一项繁琐的任务将成绩单私信给学生家长。这项工作耗时耗力,而且极易出错,期末老师的工作已经足够繁重还要私发成绩,简直是雪上加霜。 好消息是,现在有了易查分小程序,只需…

MATLAB-振动问题:两自由度耦合系统自由振动

一、基本理论 二、MATLAB实现 以下是两自由度耦合系统自由振动质量块振动过程动画显示的MATLAB程序。 clear; clc; close allx0 1; D1 40; D12 8; D2 D1; m1 1; omega0 sqrt(D1/m1); k1 D12 / D1; k2 D12 / D2; k sqrt(k1 * k2); omegazh omega0 * sqrt(1 k); omeg…

不可编辑的加密word文件破解

文章目录 1 将word文件另存为xml格式2 使用记事本打开xml格式的word文件3 ctrlF查找w:enforcement4 将w:enforcement"1"改成w:enforcement"0"并保存5 用word打开xml格式的文件并另存为docx格式6 成功可以编辑 1 将word文件另存为xml格式 2 使用记事本打开x…

丙酮传感器TGS1820在呼吸气体丙酮含量分析检测中的应用

随着科技的进步,无创检测技术逐渐成为医疗保健领域的新宠。其中,基于呼吸气体的分析检测技术以其独特的优势受到了广泛关注。呼吸气中的挥发性有机化合物(VOCs)不仅为研究者们提供了关于人体健康状态的宝贵信息,而且它…

PKG打包sqlite3项目,如何添加node_sqlite3.node依赖

项目地址:https://github.com/helson-lin/pkg_sqlite 在ffandown项目内,由于项目使用了sqlite3,在跨平台打包的时候,除了本机外其他平台打包之后运行缺少node_sqlite3.node依赖。 为了解决问题,百度了很久&#xff0c…

为什么您需要将软件本地化为其他语言

将软件翻译成其他语言可以让用户和开发软件的公司受益。以下是软件翻译之所以重要的几个原因: 不断增加的受众:当软件被翻译成不同的语言时,世界各地的更多人都可以访问它。这使公司能够扩大客户群并增加销售额。 改善用户体验:用…

Java异常处理详解【入门篇】

Java异常处理详解【入门篇】 Java异常处理详解1. 异常的概念2. 异常的分类2.1 检查异常(Checked Exception)2.2 非检查异常(Unchecked Exception)2.3 错误(Error) 3. 异常处理机制3.1 try-catch3.2 finally…

1/7精确到100位,1000位,100000位怎么算?

双精度 Console.WriteLine("1/7的值是" (double)1 / 7);结果:0.14285714285714285 即使使用双精度浮点数,精确的位数也是有限的,如果想精确到小数点后100位,1000位,甚至更高哪? 朴素的除法 除数 余数 商…

麒麟桌面系统CVE-2024-1086漏洞修复

原文链接:麒麟桌面操作系统上CVE-2024-1086漏洞修复 Hello,大家好啊!今天给大家带来一篇在麒麟桌面操作系统上修复CVE-2024-1086漏洞的文章。漏洞CVE-2024-1086是一个新的安全漏洞,如果不及时修复,可能会对系统造成安全…

设计模式 - Observer Pattern 观察者模式

文章目录 定义观察者模式的实现构成构成UML图 观察者模式的代码实现场景代码实现 总结优点缺点应用场景 其他设计模式文章: 定义 观察者模式是行为型模式的一种,它定义对象间的一种一对多的依赖关系,使得每当一个对象改变状态,它…

ThreadPoolExecutor线程池创建线程

线程池介绍 降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源&#…

find()方法——字符串首次出现的索引位置

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 find()方法实现查询一个字符串在其本身字符串对象中首次出现的索引位置,如起始位置从11到结束位置17之间子字符串出现的位置&a…

Profinet IO从站数据 转EtherCAT项目案例

这里是引用 目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 使用PRONETA软件获取PROFINET IO从站的配置信息 2 5 设置网关采集PROFINETIO从站设备数据 5 6 启动ETHERCAT从站转发采集的数据 8 7 选择槽号和数据地址 9 8 选择子槽号 11 9 案例总结 12 1 案例说明 设置…

【shell脚本实战案例】主机状态监控脚本

文章目录 案例需求脚本应用场景解决问题脚本思路实现代码 🌈你好呀!我是 山顶风景独好 🎈欢迎踏入我的博客世界,能与您在此邂逅,真是缘分使然!😊 🌸愿您在此停留的每一刻&#xff0c…

统计信号处理基础 习题解答11-6

题目 考虑例11.1对WGN中单个正弦信号的数据模型,将模型重写为 其中: ,证明A的PDF是瑞丽的,的PDF是,且和是相互独立的。 解答 根据例11.1: 由于N维联合高斯分布为: 由: 因此&#…

ProfibusDP主站转Modbus模块连接称重仪配置案例

在工业自动化领域,常常需要将不同协议的设备进行连接。比如,将ProfibusDP主站转Modbus模块(XD-MDPBM20)用于连接称重仪,可以实现不同设备之间的数据交换和通信。ProfibusDP主站转Modbus网关(XD-MDPBM20&…

一招教你用python代码给朋友写一个爱心代码

有人问我马上要跟女朋友一周年了,能不能用代码给他写一个爱心代码呢?那算你问对人了,来上才艺 可以使用Python的turtle模块来绘制一个爱心形状。下面是一个简单的示例代码,我将详细解释每一步: import turtle # 创建一…

(已解决)Adobe Flash Player已不再受支持

文章目录 前言解决方案 前言 一般来说,很少遇到官方网站使用Adobe Flash Player来进行录用名单公示了。但是,今天就偏偏遇到一次, 用谷歌浏览器打不开, 点了没有反应,用其他的浏览器,例如windows自带的那…