0

如果未指定限制,日光浴室(和 solr)默认返回 10 个结果。我知道我可以使用 $query->setRows(25); 指定一个限制;但我需要返回所有结果(无论有多大)。有没有办法在不将任意大的数字传递给 setRows() 的情况下指定它?我在文档中没有看到任何内容.......

4

2 回答 2

0

这里有一些可以启发的东西,实际上维基回答了这个问题。根据文档,您最好使用一个大数字来获取您的行。

这里

如何取回所有匹配的文件?...我怎样才能返回无限数量的行?

这在大多数情况下是不切实际的。人们通常只想在他们知道他们正在处理一个索引时才这样做将“可管理的数量”作为您的行参数并获得两全其美的结果(假设正确时的所有结果,如果结果证明您的假设错误,则结果大小的理智上限)

此外,这是 setRows 的文档在此处提到的内容
Rows

此参数用于对查询结果进行分页。它指定从完整结果集中为每个请求返回给客户端的最大文档数。您可以将其视为页面中出现的最大结果数。

默认值为“10”,不指定参数时使用。如果您想告诉 Solr 从查询中返回所有可能的结果而没有上限,请将行指定为 10000000 或其他一些比预期的可能行数更高的大得离谱的值。

这里有一个很好的讨论

于 2013-09-23T18:57:15.140 回答
0

我将此发布到支持论坛,开发人员建议使用 PreFetchIterator 插件。

PreFetchIterator 插件

于 2013-09-25T04:14:31.827 回答