1.为什么要使用scroll?

如果一次性要查出来比如10万条数据,那么性能会很差,此时一般会采取用scoll滚动查询,一批一批的查,直到所有数据都查询完处理完

2.原理

使用scoll滚动搜索,可以先搜索一批数据,然后下次再搜索一批数据,以此类推,直到搜索出全部的数据来
scoll搜索会在第一次搜索的时候,保存一个当时的视图快照,之后只会基于该旧的视图快照提供数据搜索,如果这个期间数据变更,是不会让用户看到的
采用基于_doc进行排序的方式,性能较高

每次发送scroll请求,我们还需要指定一个scoll参数,指定一个时间窗口,每次搜索请求只要在这个时间窗口内能完成就可以了

3.实操

GET /test_index/test_type/_search?scroll=1m
{"query": {"match_all": {}},"sort": [ "_doc" ],"size": 3
}

{"_scroll_id": "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAACxeFjRvbnNUWVZaVGpHdklqOV9zcFd6MncAAAAAAAAsYBY0b25zVFlWWlRqR3ZJajlfc3BXejJ3AAAAAAAALF8WNG9uc1RZVlpUakd2SWo5X3NwV3oydwAAAAAAACxhFjRvbnNUWVZaVGpHdklqOV9zcFd6MncAAAAAAAAsYhY0b25zVFlWWlRqR3ZJajlfc3BXejJ3","took": 5,"timed_out": false,"_shards": {"total": 5,"successful": 5,"failed": 0},"hits": {"total": 10,"max_score": null,"hits": [{"_index": "test_index","_type": "test_type","_id": "8","_score": null,"_source": {"test_field": "test client 2"},"sort": [0]},{"_index": "test_index","_type": "test_type","_id": "6","_score": null,"_source": {"test_field": "tes test"},"sort": [0]},{"_index": "test_index","_type": "test_type","_id": "AVp4RN0bhjxldOOnBxaE","_score": null,"_source": {"test_content": "my test"},"sort": [0]}]}
}

获得的结果会有一个scoll_id,下一次再发送scoll请求的时候,必须带上这个scoll_id

GET /_search/scroll
{"scroll": "1m", "scroll_id" : "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAACxeFjRvbnNUWVZaVGpHdklqOV9zcFd6MncAAAAAAAAsYBY0b25zVFlWWlRqR3ZJajlfc3BXejJ3AAAAAAAALF8WNG9uc1RZVlpUakd2SWo5X3NwV3oydwAAAAAAACxhFjRvbnNUWVZaVGpHdklqOV9zcFd6MncAAAAAAAAsYhY0b25zVFlWWlRqR3ZJajlfc3BXejJ3"
}

4.scroll和分页的区别?

scoll,看起来挺像分页的,但是其实使用场景不一样。分页主要是用来一页一页搜索,给用户看的;scoll主要是用来一批一批检索数据,让系统进行处理的

转载于:https://www.cnblogs.com/ql211lin/p/10909303.html

ElasticSearch(二十四)基于scoll技术滚动搜索大量数据相关推荐

  1. 【Elasticsearch】Elasticsearch 基于scoll技术滚动搜索大量数据

    如果一次性要查出来比如10万条数据,那么性能会很差,此时一般会采取用scoll滚动查询,一批一批的查,直到所有数据都查询完处理完 使用scoll滚动搜索,可以先搜索一批数据,然后下次再搜索一批数据,以 ...

  2. 二十四.基于机器学习的入侵检测和攻击识别——以KDD CUP99数据集为例

    这是作者的系列网络安全自学教程,主要是关于网安工具和实践操作的在线笔记,特分享出来与博友共勉,希望您们喜欢,一起进步.前文分享了Web渗透的第一步工作,涉及网站信息.域名信息.端口信息.敏感信息及指纹 ...

  3. [网络安全自学篇] 二十四.基于机器学习的入侵检测和攻击识别——以KDD CUP99数据集为例

    这是作者的系列网络安全自学教程,主要是关于网安工具和实践操作的在线笔记,特分享出来与博友共勉,希望您们喜欢,一起进步.前文分享了Web渗透的第一步工作,涉及网站信息.域名信息.端口信息.敏感信息及指纹 ...

  4. 云计算设计模式(二十四)——仆人键模式

    云计算设计模式(二十四)--仆人键模式 使用一个令牌或密钥,向客户提供受限制的直接訪问特定的资源或服务,以便由应用程序代码卸载数据传输操作. 这个模式是在使用云托管的存储系统或队列的应用中特别实用,而 ...

  5. 华为鸿蒙参与者,一起来搞机 篇二十四:不止有鸿蒙,参加华为开发者大会是一种怎样的体验...

    一起来搞机 篇二十四:不止有鸿蒙,参加华为开发者大会是一种怎样的体验 2019-08-19 21:30:00 10点赞 6收藏 4评论 2019年8月9日至11日,HDC.2019华为开发者大会在广东 ...

  6. 大话设计模式笔记(二十一、二十二、二十三、二十四、二十五、二十六)

    二十一.单例模式(Singleton) 定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点. 1.通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象.一个最好的办法就是 ...

  7. J2EE进阶(二十四)JBoss Web和 Tomcat的区别

    J2EE进阶(二十四)JBoss Web和 Tomcat的区别 在Web2.0的浪潮中,各种页面技术和框架不断涌现,为服务器端的基础架构提出了更高的稳定性和可扩展性的要求.近年来,作为开源中间件的全球 ...

  8. 数字图像处理领域的二十四个典型算法及vc实现、第一章

    数字图像处理领域的二十四个典型算法及vc实现.第一章 作者:July   二零一一年二月二十六日. 参考:百度百科.维基百科.vc数字图像处理. --------------------------- ...

  9. 山海演武传·黄道·第一卷 雏龙惊蛰 第二十二 ~ 二十四章 真龙之剑·星墟列将...

    山海演武传·黄道·第一卷 雏龙惊蛰 第二十二 ~ 二十四章 真龙之剑·星墟列将 "我是第一次--请你,请你温柔一点--"少女一边娇喘着,一边将稚嫩的红唇紧贴在男子耳边,樱桃小嘴盈溢 ...

最新文章

  1. Linux下编译安装Boost1.66
  2. 列出Sell in application所有可以传输的application object
  3. vs.net 中编译链接vc工程时的LNK171@mspdb140.dll错误处理
  4. javascript 动态修改css样式
  5. drupal 使用补丁_使用Drupal解决大学需求
  6. werkzeug.local
  7. Maven 本地仓库访问私服
  8. 我的2012移动开发年度总结——革命的一年
  9. AD查找相似对象使用进阶
  10. build.gradle Failed to resolve:me.relex:circleindicator:1.1.5
  11. 亚马逊17亿美元收购iRobot;谷歌·Web性能权威指南电子书;宾大·现代统计学习课程资料;轻量化爬虫实现方案;前沿论文 | ShowMeAI资讯日报
  12. Kindle的使用体验
  13. 比赛报名 | 2019AIIA杯电梯调度算法大赛正式启动
  14. 学姐的大厂面试总结,想进大厂的必看!!!
  15. 1.12 W10的CMD常用命令,以及CMD装逼操作
  16. 高效的公式提取神器Mathpix snipping Tool+ Mathtype
  17. 转:数据可视化之美:经典案例与实践解析
  18. 蓝桥杯练习题Java实现 入门训练 Fibonacci数列
  19. 管理者的五大能力十大素质
  20. 易飞ERP客户问题集合之一

热门文章

  1. jquery出现“为了有利于保护安全性,IE已限制此网页运行可以访问计算机的脚本或 ActiveX 控件。请单击这里获取选项...”的解决办法
  2. 【opencv学习】【图像的数值计算操作】
  3. 漫步最优化二十五——斐波那契搜索
  4. 判断php图片是否存在,php判断远程图片是否存在
  5. Unity MVC框架 StrangeIoC
  6. 天池-新闻推荐-数据分析
  7. Golang的数组与切片——详解
  8. 如何将不规整的dataframe中特定的值去掉
  9. 什么时候出python4_什么?Python4要来了?快来看看Python之父怎么说
  10. bay trail android 平板,英特尔再推9款平板专用BayTrail-T处理器