【问题标题】:Solr: Fetching results with a minimum from each categorySolr:从每个类别中获取最少的结果
【发布时间】:2013-12-30 18:48:48
【问题描述】:

我正在使用 solr 4.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 做到这一点

【问题讨论】:

  • 获取 n 号。每次记录并以编程方式处理

标签: solr


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-14
    • 2018-12-09
    • 2017-01-03
    • 1970-01-01
    • 2017-02-15
    • 1970-01-01
    • 1970-01-01
    • 2020-10-01
    相关资源
    最近更新 更多