搜索结果分页
分页与搜索引擎
搜索引擎的目的是尽快为用户找到他们搜索的数据,同时用户在使用搜索引擎时通常有较高的准确度期望。
因此,搜索引擎如果不能在第 1 页,甚至前 3 个结果中,为用户找到内容,用户就会立即离开。
结合你使用百度或谷歌的体验,很少有在第一页找完过后,继续找第二页的经历。
在这样的预期下,为用户快速准确地找到一个短列表来选择的重要性,远超过找到完整的结果来给用户一个个人工选择。因此,如果你需要翻页时,请从用户体验的角度考虑分页是否一定必要。
卡拉搜索的分页
在卡拉搜索的搜索请求中,我们用两个参数来控制分页
page
从 0 开始的整数,代表当前请求的页数。
hitsPerPage
代表每页需要返回的结果数
分页限制
请注意,hitsPerPage 的值需要在 [1, 100] 范围内。也即在分页参数中,每次要求搜索引擎返回的结果数不能超过 100 个
这个限制不光是为了保证响应速度,以此保证你的用户的用户体验,同时也防止你的数据被爬虫轻易抓走。对于绝大多数使用场景来说, 100 每页的返回数都绰绰有余。
同时,要求返回的结果数也不会超过查询本身返回的对象数。比如说,如果你的查询只有 3 个对象匹配(搜索电影无间道,而只有 3 部电影满足查询)而你用 page=1, hitsPerPage = 10
的话,结果仍然只会返回 3 个对象。
请求示例
{"query": "爱情片","hitsPerPage": 5,"page": 0}