使用Solarium-PHP获取所有结果

时间:2013-09-23 18:41:16

标签: php solr solarium

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

2 个答案:

答案 0 :(得分:0)

这可能是启发,实际上维基回答了这个问题。根据文档,您可能最好使用大数字来获取行。

来自here

如何获取所有匹配的文件? ...如何返回无限数量的行?

在大多数情况下这是不切实际的。人们通常只想知道他们正在处理一个索引时才这样做,索引的大小保证结果集总是足够小,以便可以以可管理的数量传输 - 但如果是这样的话,只需指定你考虑的内容一个“可管理的数量”作为你的行参与并充分利用两个世界(当你的假设正确时所有结果,如果事实证明你的假设是错误的,结果大小的理智上限)

此外,这是setRows提及here的文档 的

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

默认值为“10”,如果未指定参数,则使用该值。如果您想告诉Solr从没有上限的查询中返回所有可能的结果,请将行指定为10000000或高于可能的预期行数的其他一些非常大的值。

对此here

进行了很好的讨论

答案 1 :(得分:0)

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

PreFetchIterator plugin