Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Solr:从每个类别中获取最小值的结果_Solr - Fatal编程技术网

Solr:从每个类别中获取最小值的结果

Solr:从每个类别中获取最小值的结果,solr,Solr,我正在使用Solr4.4.0。搜索在产品上执行,每个产品都有一个类别字段。我想检索排名前n的产品。但是,如果某个类别在前n个类别中的产品少于m个,那么我只想为这些类别检索更多的产品 我有4个类别:a、b、c、d。n=20,m=5。现在让我们假设前20=n有以下类别分布a:6,b:4,c:6,d:4。b类和d类产品少于m=5。因此,我想在这两个类别中再拿一个得分次高的产品 有没有一种方法可以用solr来解决这个问题?你有没有试着用solr来解决这个问题 您可以使用group.field=categ

我正在使用Solr4.4.0。搜索在产品上执行,每个产品都有一个类别字段。我想检索排名前n的产品。但是,如果某个类别在前n个类别中的产品少于m个,那么我只想为这些类别检索更多的产品

我有4个类别:a、b、c、d。n=20,m=5。现在让我们假设前20=n有以下类别分布a:6,b:4,c:6,d:4。b类和d类产品少于m=5。因此,我想在这两个类别中再拿一个得分次高的产品


有没有一种方法可以用solr来解决这个问题?你有没有试着用solr来解决这个问题

您可以使用group.field=category,group.limit用于设置每个组的大小。然后你需要注意分组的排序方式,我认为是分组中的第一个文档


但我想你可以很容易地实现你想要的目标。

每次提取n条记录,并通过编程方式进行处理