Solr中的分页是否需要排序

时间:2016-02-03 09:59:18

标签: solr

在某些数据库中,如果您不在查询中包含排序,则数据库可能每次都以不同的顺序访问相同的查询结果。因此,如果您通过发送具有不同起始位置的多个查询来进行分页,则可能会多次获得相同的原始数据 Solr是一样的吗? 如果我通过更改start参数来迭代所有文档,我是否需要包含一些排序字段?

1 个答案:

答案 0 :(得分:1)

默认情况下,文档返回in the order they're added to the index。如果文档已更新,则会有效删除并重新添加,因此它将显示在索引的末尾。如果您实际搜索(而不仅仅是使用fq),则结果集的每个页面的得分将相同(结果集按得分排序)。如果索引已更新,则分数可能会发生变化(正如您所期望的那样)。

所以不,Solr和分页不需要排序。如果在分页时更改索引,结果将会发生变化 - 就像您在任意字段上排序并添加落在您正在显示的间隔内的值一样。

use the cursor support(“cursorMark”或深度分页),您必须在排序中拥有集合的uniqueKey(以使相同值的排序具有确定性),但不需要查询特别的。