三人行必有我师

search after取出全量数据会比scoll更快吗

Elasticsearch | 作者 Han_ | 发布于2019年12月19日 | 阅读数:4013

目前使用scoll查询大量数据,因对性能有要求,使用scoll取出4w条数据大约耗时2秒左右。已了解search after更擅长取出翻页实时数据,那么它的性能与scoll比如何呢,会不会比我使用scoll查询更快呢,希望大佬们不吝赐教。
已邀请:

laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net

赞同来自: Han_

性能问题推荐结合slice 而scroll_after主要针对翻页的业务场景

tacsklet - 公司有用到es

赞同来自: Han_

没有做太全面,简单做了一下实验,2亿的数据里面取出来最前面的一些,还是search after比较快的,但是search after有个问题就是需要做个排序,这个排序动作会拖慢很多速度,如果你的查询需要执行的时间不是很长,进行排序对性能影响比较大的话,还是scoll比较快(当然取出来的特别多的时候没做测试),如果抛开排序不谈的话,search after应该是完胜的。

zqc0512 - andy zhou

赞同来自:

翻页要设置下,不要一下到几万页,只给定几页翻 这个要快些。

tacsklet - 公司有用到es

赞同来自:

pony_maggie - 公众号:犀牛饲养员的技术笔记

赞同来自:

还是要结合业务场景,大部分情况下分页深度都不会太深,没必要纠结导出大量数据的性能

guoyanbiao520

赞同来自:

请教一下用serach after做分页的话,上一页怎么设计呢

要回复问题请先登录注册