from + size must be less than or equal to: [10000] but was [10550]

以上错误是ElasticSearch分页搜索时出现的,这是因为ES默认支持的最大条数就是10000条,深度分页导致总条数超过10000,就会报这个错。

解决方法

1.调整索引的配置项index.max_result_window,如下:

PUT index_name/_settings
{
  "index.max_result_window":10000
}

调成符合自己业务的数字即可。

2.从业务上限制

一般来说,用户搜索大多是看前几页数据就好了,毕竟有个匹配分数,越后面的匹配度越低,即使是电商商品,也不需要展示全部数据,同时深度分页性能也很差,因此很多电商网站搜索时都是展示总条数小于10000条的结果,所以我们可以设置当总条数大于10000时,强行把total设置为10000,然后前端的分页参数就再也无法请求到更深分页的数据了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值