愚者求师之过,智者从师之长。
scroll

scroll

elasticsearch scroll查询的原理没太懂

Elasticsearchcaster_QL 回复了问题 • 12 人关注 • 4 个回复 • 33427 次浏览 • 2022-02-24 15:50 • 来自相关话题

如何用Logstash或者Metricbeat设置max_result_window?

默认分类zhangsanXYZ 回复了问题 • 2 人关注 • 1 个回复 • 3853 次浏览 • 2021-06-28 17:46 • 来自相关话题

springdata中ElasticsearchTemplate的startScroll是不是不支持高亮?

Elasticsearchlaoyang360 回复了问题 • 2 人关注 • 1 个回复 • 3222 次浏览 • 2019-09-18 13:24 • 来自相关话题

python拉取es数据能力

ElasticsearchelasticStack 回复了问题 • 2 人关注 • 2 个回复 • 4494 次浏览 • 2019-04-16 16:07 • 来自相关话题

scroll查询很慢

Elasticsearchfanmo3yuan 回复了问题 • 4 人关注 • 2 个回复 • 5210 次浏览 • 2019-03-01 14:12 • 来自相关话题

es-scroll迭代问题

Elasticsearchpuyunjiafly 回复了问题 • 5 人关注 • 3 个回复 • 5250 次浏览 • 2019-01-23 15:37 • 来自相关话题

es-scroll 导出50W行数据

Elasticsearchlaoyang360 回复了问题 • 2 人关注 • 1 个回复 • 2865 次浏览 • 2018-11-26 12:42 • 来自相关话题

可以通过scroll_id对应到要查询的索引吗?

Elasticsearchmushao999 回复了问题 • 5 人关注 • 4 个回复 • 2700 次浏览 • 2018-11-19 21:53 • 来自相关话题

如何打印scan返回的结果呀?

Elasticsearchkennywu76 回复了问题 • 4 人关注 • 2 个回复 • 4198 次浏览 • 2018-08-22 16:28 • 来自相关话题

elasticsearch使用scroll查询,获取不到全部数据

回复

Elasticsearchzzalyp 回复了问题 • 1 人关注 • 1 个回复 • 4371 次浏览 • 2018-06-21 15:20 • 来自相关话题

scroll 并发个数有限制吗?

Elasticsearchkennywu76 回复了问题 • 3 人关注 • 1 个回复 • 3596 次浏览 • 2018-06-21 10:02 • 来自相关话题

5.x scroll 没有返回新id

回复

Elasticsearchjsh0401 发起了问题 • 1 人关注 • 0 个回复 • 3882 次浏览 • 2017-12-01 16:28 • 来自相关话题

es 5.5.0想用rest api执行深分页

Elasticsearchlaoyang360 回复了问题 • 2 人关注 • 1 个回复 • 3074 次浏览 • 2017-11-30 07:49 • 来自相关话题

条新动态, 点击查看
kennywu76

kennywu76 回答了问题 • 2017-11-28 19:47 • 4 个回复 不感兴趣

elasticsearch scroll查询的原理没太懂

赞同来自:

ES的搜索是分2个阶段进行的,即Query阶段和Fetch阶段。  Query阶段比较轻量级,通过查询倒排索引,获取满足查询结果的文档ID列表。  而Fetch阶段比较重,需要将每个shard的结果取回,在协调结点进行 全局 排序。  通过From+size这... 显示全部 »
ES的搜索是分2个阶段进行的,即Query阶段和Fetch阶段。  Query阶段比较轻量级,通过查询倒排索引,获取满足查询结果的文档ID列表。  而Fetch阶段比较重,需要将每个shard的结果取回,在协调结点进行 全局 排序。  通过From+size这种方式分批获取数据的时候,随着from加大,需要全局排序并丢弃的结果数量随之上升,性能越来越差。
 
而Scroll查询,先做轻量级的Query阶段以后,免去了繁重的全局排序过程。 它只是将查询结果集,也就是doc id列表保留在一个上下文里, 之后每次分批取回的时候,只需根据设置的size,在每个shard内部按照一定顺序(默认doc_id续), 取回这个size数量的文档即可。 
 
由此也可以看出scroll不适合支持那种实时的和用户交互的前端分页工作,其主要用途用于从ES集群分批拉取大量结果集的情况,一般都是offline的应用场景。  比如需要将非常大的结果集拉取出来,存放到其他系统处理,或者需要做大索引的reindex等等。
 
参考:   https://www.elastic.co/guide/cn/elasticsearch/guide/cn/_fetch_phase.html
 

elasticsearch scroll查询的原理没太懂

回复

Elasticsearchcaster_QL 回复了问题 • 12 人关注 • 4 个回复 • 33427 次浏览 • 2022-02-24 15:50 • 来自相关话题

如何用Logstash或者Metricbeat设置max_result_window?

回复

默认分类zhangsanXYZ 回复了问题 • 2 人关注 • 1 个回复 • 3853 次浏览 • 2021-06-28 17:46 • 来自相关话题

springdata中ElasticsearchTemplate的startScroll是不是不支持高亮?

回复

Elasticsearchlaoyang360 回复了问题 • 2 人关注 • 1 个回复 • 3222 次浏览 • 2019-09-18 13:24 • 来自相关话题

python拉取es数据能力

回复

ElasticsearchelasticStack 回复了问题 • 2 人关注 • 2 个回复 • 4494 次浏览 • 2019-04-16 16:07 • 来自相关话题

scroll查询很慢

回复

Elasticsearchfanmo3yuan 回复了问题 • 4 人关注 • 2 个回复 • 5210 次浏览 • 2019-03-01 14:12 • 来自相关话题

es-scroll迭代问题

回复

Elasticsearchpuyunjiafly 回复了问题 • 5 人关注 • 3 个回复 • 5250 次浏览 • 2019-01-23 15:37 • 来自相关话题

es-scroll 导出50W行数据

回复

Elasticsearchlaoyang360 回复了问题 • 2 人关注 • 1 个回复 • 2865 次浏览 • 2018-11-26 12:42 • 来自相关话题

可以通过scroll_id对应到要查询的索引吗?

回复

Elasticsearchmushao999 回复了问题 • 5 人关注 • 4 个回复 • 2700 次浏览 • 2018-11-19 21:53 • 来自相关话题

如何打印scan返回的结果呀?

回复

Elasticsearchkennywu76 回复了问题 • 4 人关注 • 2 个回复 • 4198 次浏览 • 2018-08-22 16:28 • 来自相关话题

elasticsearch使用scroll查询,获取不到全部数据

回复

Elasticsearchzzalyp 回复了问题 • 1 人关注 • 1 个回复 • 4371 次浏览 • 2018-06-21 15:20 • 来自相关话题

scroll 并发个数有限制吗?

回复

Elasticsearchkennywu76 回复了问题 • 3 人关注 • 1 个回复 • 3596 次浏览 • 2018-06-21 10:02 • 来自相关话题

5.x scroll 没有返回新id

回复

Elasticsearchjsh0401 发起了问题 • 1 人关注 • 0 个回复 • 3882 次浏览 • 2017-12-01 16:28 • 来自相关话题

es 5.5.0想用rest api执行深分页

回复

Elasticsearchlaoyang360 回复了问题 • 2 人关注 • 1 个回复 • 3074 次浏览 • 2017-11-30 07:49 • 来自相关话题