ES深度分页问题
简介:
导致的问题:平凡的深度分页容易导致OOM,因为查询数据量过大导致ES查询和排序的时间也会加长。
解决方案:1.设置max_result_window参数。设置分页返回的最大数据,默认10000.这样设置只可以暂时解决问题,伴随着数据量增大OOM问题便会更加严重。
2.设置数据限制,参考淘宝,百度,谷歌等。越往后的数据对用户影响越小。
3.滚动查询:scoll search
滚动查询通过保存快照,查询时通过快照获取数据,这样的查询方式对于Client端不友好,因为数据的更新删除新增都不会影响快照。
4.search_after
这种方式是根据上一页的最后一条数据来确定下一页的位置,由于特殊的查询方式不支持跳页查询,只能以来上一页的数据

浙公网安备 33010602011771号