Elasticsearch学习(五)在springboot中对检索结果分页及排序及高亮

这篇博客详细讲解了如何在SpringBoot应用中使用Elasticsearch实现分页(from/size与search_after两种方式)、排序(单字段、多字段、多值字段)和高亮显示。同时,文中还涵盖了创建索引和存入数据的基础操作。
摘要由CSDN通过智能技术生成


一、分页方式

1、from和size分页

from:要跳过的命中数,默认为0;
size:命中返回的最大返回数量。
官方说明:
避免使用from和size分页太深或一次请求太多结果。搜索请求通常跨越多个分片。每个分片必须将其请求的命中以及任何先前页面的命中加载到内存中。对于较深的页面或大量结果,这些操作会显着增加内存和CPU使用率,从而导致性能下降或节点故障。

默认情况下,您不能使用from和size分页超过10,000个匹配。此限制是由index.max_result_window索引设置的保护措施 。如果您需要分页浏览超过10,000个匹配,请改用search_after 参数。
原因如下:

在分布式系统中深度分页
我们可以假设在一个有 5 个主分片的索引中搜索。 当我们请求结果的第一页(结果从 1 到 10 ),每一个分片产生前 10 的结果,并且返回给 协调节点 ,协调节点对 50 个结果排序得到全部结果的前 10 个。
现在假设我们请求第 1000 页—​结果从 10001 到 10010 。每个分片产生前10010个结果。 然后协调节点对全部 50050 个结果
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_lrs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值