我已阅读(http://old.nabble.com/using-q%3D--,-adding-fq%3D-to26753938.html#a26805204):
FWIW:限制每行的行数 要求50,但不限制 开始并没有多大意义 - 需要相同数量的工作 handle start = 0& rows = 5050 and 开始= 5000&安培;行= 50
比他完成:
用例非常少 允许人们遍历所有 那些也需要排序的行。
是吗?这对于排序结果是否正确?
您建议每个10行的页数允许用户迭代?
Solr 1.4是否受到同样的限制?
答案 0 :(得分:4)
是的,这也适用于Solr 1.4。 不意味着start=0&rows=5050
具有与start=5000&rows=50
相同的效果,因为前者必须返回5050个文档而后者只返回50个。较少的数据要转移 - >更快。
Solr没有办法在单个页面中获得所有结果,因为它没有多大意义。作为比较,您无法在单个查询中获取整个Google索引。没人真的需要这样做。
应用程序的页面大小应该是用户可定义的(即用户可以选择一次查看10,25,50或100个结果)。
默认页面大小取决于您正在分页的数据类型以及结果的真实程度。例如,在Google上搜索时,您通常不会超越前几个结果,因此10个元素就足够了。另一方面,eBay更多的是关于浏览结果,因此默认情况下每页显示50个结果,而且每页甚至不提供10个结果。
您还必须考虑滚动。尝试浏览200-result page时,用户可能会迷路,更不用说加载需要更长的时间。
答案 1 :(得分:0)
start = 0& rows = 5050 and start = 5000& rows = 50
取决于你如何跳转到start = 5000。如果您滚动浏览0到4999之间的所有结果,忽略它们全部然后继续从5000滚动到5050然后是,则完成相同数量的工作。最好的办法是通过在Oracle中使用类似ROWNUM的东西来限制从数据库本身获取的行。
遍历所有需要排序的行
很少但是有些用例符合此要求。例如CSV / Excel / PDF导出。