ES的查询模式以及使用场景:
来源:互联网 发布:js删除指定class 编辑:程序博客网 时间:2024/06/05 19:20
ES的查询模式以及使用场景:
SearchType.DFS_QUERY_THEN_FETCH
QUERY_THEN_FETCH
DFS_QUERY_AND_FETCH
QUERY_AND_FETCH
SCAN
COUNT
(带then需要排序,带and不需要排序)
ES的数据遍历原理和深度分页
在 Elasticsearch 中,搜索一般包括两个阶段,query 和 fetch 阶段,可以简单的理解,query 阶段确定要取哪些doc,fetch 阶段取出具体的 doc;
Client 发送一次搜索请求,node1 接收到请求,然后,node1 创建一个大小为 from + size 的优先级队列用来存结果,我们管 node1 叫 coordinating node。
coordinating node将请求广播到涉及到的 shards,每个 shard 在内部执行搜索请求,然后,将结果存到内部的大小同样为 from + size 的优先级队列里,可以把优先级队列理解为一个包含 top N 结果的列表。
每个 shard 把暂存在自身优先级队列里的数据返回给 coordinating node,coordinating node 拿到各个 shards 返回的结果后对结果进行一次合并,产生一个全局的优先级队列,存到自身的优先级队列里。
可以把 scroll 理解为关系型数据库里的 cursor,因此,scroll 并不适合用来做实时搜索,而更适用于后台批处理任务,比如群发。
参考:
http://lxwei.github.io/posts/%E4%BD%BF%E7%94%A8scroll%E5%AE%9E%E7%8E%B0Elasticsearch%E6%95%B0%E6%8D%AE%E9%81%8D%E5%8E%86%E5%92%8C%E6%B7%B1%E5%BA%A6%E5%88%86%E9%A1%B5.html
- ES的查询模式以及使用场景:
- ES的数组类型以及应用场景
- Android的生命周期和启动模式以及使用场景
- 观察者模式的优缺点以及使用场景(三)
- 微信扫码支付模式以及使用场景
- ES安装以及使用
- es的查询
- 各级缓存的使用场景以及限制
- 索引的应用场景以及如何使用
- Elasticsearch的功能、使用场景以及特点
- mongodb的介绍、原理以及使用场景
- spark 读取 es 的es查询语法
- ES以及ES插件的安装
- 【转载】单例模式的使用场景
- 使用工厂设计模式的场景
- 单利模式的优缺点和使用场景
- 单例模式的使用场景
- java中观察者模式的使用场景
- redis存储优化经验谈:
- Hibernate4自学入门(八)——集合映射
- DP-POJ 1458 (LCS 最长公共子序列)
- 51nod-【1433 0和5】
- select 1和select count(*)区别
- ES的查询模式以及使用场景:
- IOS 进阶之 WKWebView
- SpringBoot 中文版
- linux多用户需要注意的地方-应用程序报错:
- 真正实用的iOS 工程框架, 可直接用在新项目
- 网络资源关闭的总结:
- mybatis中接口参数使用map类型的好处
- 如何使两台机器不通过密码连接起来(linux)
- zookeeker客户端链接zk服务器三个时间