什么是ElasticSearch的深度分页问题?如何解决?

在ElasticSearch中进行分页查询通常使用from和size参数。当我们对ElasticSearch发起一个带有分页参数的查询(如使用from和size参数)时,ElasticSearch需要遍历所以匹配的文档直到达到指定的起始点(from),然后返回从这一点开始的size个文档

在这个例子中:

1.from 参数定义了要跳过的记录数。在这里,它跳过了前20条记录。

2.size参数定义了返回的记录数量。在这里,它返回了10条记录。

from +size 的总数不能超过Elasticsearch索引的index.max result window设置,默认为10000。这意味着如果你设置from为9900,size为100,查询将会成功。但如果from为9900,size为101,则会失败。

ES的检索机制决定了,当进行分页查询时,Elasticsearch需要先找到并处理所有位于当前页之前的记录。例如,如果你请求第1000页的数据,并且每页显示10条记录,系统需要先处理前9990条记录,然后才能获取到你请求的那10条记录。这意味着,随着页码的增加,数据库需要处理的数据量急剧增加,导致查询效率降低。

这就是ES的深度分页的问题,深度分页需要数据库在内存中维护大量的数据,并对这些数据进行排序和处理,这会消耗大量的CPU和内存资源。随着分页深度的增加,查询响应时间会显著增加。在某些情

相关推荐

  1. mysql解决深度问题

    2024-03-09 23:16:04       11 阅读
  2. 如何解决 SQL 深层问题

    2024-03-09 23:16:04       27 阅读
  3. 【ES】--Elasticsearch深度/内存超限等问题

    2024-03-09 23:16:04       40 阅读
  4. 面试——深度问题优化

    2024-03-09 23:16:04       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-09 23:16:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-09 23:16:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-09 23:16:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-09 23:16:04       20 阅读

热门阅读

  1. #Hack.Summit()2024区块链开发者盛宴即将上演!

    2024-03-09 23:16:04       21 阅读
  2. webpack5基础--05_处理图片资源

    2024-03-09 23:16:04       20 阅读
  3. 前端面试练习24.3.5

    2024-03-09 23:16:04       28 阅读
  4. MariaDB11修改数据存储位置

    2024-03-09 23:16:04       21 阅读
  5. 企业强化加密安全防护的关键措施与实施路径

    2024-03-09 23:16:04       23 阅读
  6. 多级透明分流系统(服务端缓存)

    2024-03-09 23:16:04       24 阅读
  7. MySQL 添加主键可以节省磁盘空间吗?

    2024-03-09 23:16:04       26 阅读
  8. ADB(Android Debug Bridge)详细下载安装及使用教程

    2024-03-09 23:16:04       93 阅读
  9. 常用GIT命令

    2024-03-09 23:16:04       23 阅读
  10. [SAP] MM模块简介

    2024-03-09 23:16:04       28 阅读
  11. mysql笔记:7. 索引

    2024-03-09 23:16:04       20 阅读
  12. 【Linux】Docker安装

    2024-03-09 23:16:04       21 阅读
  13. 蓝桥杯(3.6)

    2024-03-09 23:16:04       24 阅读
  14. springboot项目docker分层构建

    2024-03-09 23:16:04       22 阅读