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

时间:2013-12-30 07:44:00

标签: solr

我正在使用solr 4.4.0。搜索在产品上执行,每个产品都有一个类别字段。我想要检索前n个产品。但是,如果某个类别的前n个产品少于m个产品,那么我想仅为这些类别检索更多产品。

EG。我有4个类别a,b,c,d。 n = 20,m = 5。现在让我们说前20(= n)有以下类别分布(a:6,b:4,c:6,d:4)。类别b和d的产品少于m(= 5)。所以我想为这两个类别再获取一个产品(得分次高)。

有没有办法可以使用solr

来做到这一点

1 个答案:

答案 0 :(得分:0)

您是否尝试使用FieldCollapsing解决此问题?

您使用group.field = category,group.limit允许您设置每个组的大小。然后你需要对组的排序方式有点小心,我认为这是由小组中的第一个文档...

但我想你可以轻松实现你想要的目标。