1

我正在使用此示例查询按类别对结果集进行分组:

q=test&group=true&group.field=category 

这按预期工作,我得到了这个示例响应:

"response": 
{"numFound":1,"start":0,"docs":[ 
 { 
  ... 
} 
{"numFound":6,"start":0,"docs":[ 
 { 
  ... 
} 
{"numFound":3,"start":0,"docs":[ 
 { 
  ... 
} 

但是,我找不到按每个组具有的文档数(“numFound 字段”)指定组排序顺序的方法。我认为“排序”参数与它有关,但我不知道如何使用它。

4

1 回答 1

0

看起来很傻,但可能没有简单的方法。一个solr-user 邮件列表线程说不。我发现另一个线程可以使用本地参数和嵌套查询。基本上,似乎没有简单的方法可以做到这一点。

如果您有很多组,一种可能的方法是在其中执行一个查询,group.limit=0在应用程序中进行排序,然后使用fq参数仅过滤这些值。

这个页面似乎是所有分组功能的一个很好的一般参考。

于 2013-04-10T15:02:53.277 回答