Solr寻呼性能

时间:2010-01-23 16:17:47

标签: java lucene solr

我已阅读(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是否受到同样的限制?

2 个答案:

答案 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导出。