elasticsearch
在使用 from + size 这种方式进行分页查询时,因为index.max_result_window
的默认值是 10K,所以当查询的文档超过第10K个文档时,会报错:Result window is too large…
当然,我们可以调整index.max_result_window
的大小,不过这种办法会导致查询效率降低和内存占用增加。
本文讲述了在 elasticsearch
中包含几十万乃至上百万的大数据量时,使用 search_after
进行深度分页的方法。
如何使用 search_after
- 准备工作:确定可以唯一确定一条文档的键,类似于关系数据库的主键,用它来排序稳定且唯一。
比如:这个逐渐字段是lawId
,当然,也可以使用多个字段联合作为主键:
"sort": [
{
"lawId":