摘要: 在Solr中,用start参数控制返回第一条记录在完整找到结果中的偏移位置,用rows 指定返回结果最多有多少条记录,配合start来实现分页。
默认参数
Solr默认会给每一次查询加上分页效果:start为0,rows为10.也就是返回前十条记录。很多境况下这样的结果就够用了,如果不满足业务要求,就需要显示指定分页参数。
指定start 与 rows
start 与 rows的值是int类型,你可以这样指定你的参数start=10&rows=5
。有时候,你返回的数据很多,需要用户点击下一页,上一页这样的操作。页面一页显示8条数据,那么第一次请求rows=8
,点击下一页之后,请求start=8&rows=8
,再点下一页,请求start=16&rows=8
。
分页性能问题
如果一次查询的结果数量大于100,Solr默认会将前100条数据返回然后存放于内存,也就是说指定start 与 rows,只要分页前100条数据,solr从内存中取数据,返回可以很快。但是如果分页上百条数据,请求start=100&rows=8
的时候,前100条数据也返回了。start
参数如果指定很大的值,对于solr来说开销很大,庞大的IO会使solr变的很慢。