给出Solr中的这些示例文档:
{id: 1, parent_id: 101}
{id: 2, parent_id: 102}
{id: 3, parent_id: 103}
{id: 4, parent_id: 104}
{id: 5, parent_id: 105}
{id: 6, parent_id: 101}
{id: 7, parent_id: 101}
我使用扩展/折叠执行Solr搜索,为每个parent_id创建一个组,该组总共3组,每组最多10个文档:
...&expand=true&expand.rows=10&rows=3&fq={!collapse field=parent_id}
结果如下:
Group 1:
{id: 1, parent_id: 101} (head document)
{id: 6, parent_id: 101}
{id: 7, parent_id: 101}
Group 2:
{id: 2, parent_id: 102} (head document)
Group 3:
{id: 3, parent_id: 103} (head document)
我的问题是:有没有办法在该查询中检索文档id=4
和id=5
?我不能简单地增加行(组)的数量,因为我不知道会有多少个组(本例中为5,但实际上会有所不同)。是否有任何方法可以指定“全部捕获”组,该组将包含通过我的过滤器但未分配给任何实际组的文档。因此结果将有一个额外的组,例如:
Group Extra:
{id: 4, parent_id: 104}
{id: 5, parent_id: 105}
请注意,nullPolicy
无法处理此问题,因为这些文档具有有效的(数字)parent_id
,因此它们不适合所选的组。