黑马es
黑马 cloud hm-cloud 全 springcloud -es mq 缓存 分布式事务
硅谷 笔记
如果你觉得 ES 的 JavaAPI 中的高级文档查询很难用,不妨稍微封装一下,把繁琐的过程封装了一下更能凸显本质。
笔记地址:硅谷笔记地址
代码:代码
二、es 面试
2.1 es 深度分页问题
from=990 size=10,
- 首先 取每个分片的前1000条。
- 聚合所有结果,
重新排序
取前1000条, - 最后对前1000条数据进行截取,截取前990-1000的部分
因此es 对结果集的上限是 10000
解决方案
- search after 分页时先排序,原理时从上一次的排序值开始,查询下一页数据,
分页 前1-10,查10-20时,记住第十条的数据,因此往后i查 过滤前10条数据。
缺点
只能查询 往后查询 不能往前查询 - scroll 原理将排序数据形成快照,保存在内存。
缺点
内存占用大,形成的是快照,更新是,快照是旧数据。