优化 Query 查询效率之 Scroll 查询

本文介绍了如何优化 Elasticsearch 中的分页查询,通过对比from分页、Scroll查询和slice查询的优缺点,强调在大数据量场景下,Scroll查询提供快照缓存以提高效率,而slice查询则支持并发处理。但需要注意Scroll查询可能存在的脏数据问题和内存消耗。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果涉及大量数据查询的话,一次性取回所有数据显得非常不可靠,一方面 ES 可能会被长时间占用,另一方面在网络连接方面也要一直保持连接状态。

以查询电商商品为例,如果当用户查看商品时候,将所有数据都返回,这将会使得用户等待时间比较长,那么这么体验是非常糟糕的。在处理传统这方面的需求可以通过自定义逻辑实现分页查询,到数据库中分批取数据。ES 同样也支持分页查询。

分页查询

给定需求:

使用分页查询方法查询电子商务订单的订单 ID 与下单日期。

_source 字段里面包括整个文档的所有字段,但是有时候并不是所有的字段都需要,因此使用 includes 过滤。

from 定义了偏移量为多少,size 表示要返回多少数据。下面的查询语句表示从 0 开始查,返回 10 条数据。

GET /kibana_sample_data_ecommerce/_search
{
  "_source": {
    "includes": [
      "order_id",
      "order_date"
    ]
  },
  "from": 0,
  "size": 10
}

查询结果:

{
  &#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值