假设我正在运行一个按分数排序的 solr 查询(默认值)。我有一个字段,"品牌",其中包含福特、通用、丰田等。我希望返回查询结果,以便任何特定品牌只能有三个连续的结果?即使我的查询的前 100 个结果是丰田,我仍然希望第 101 个元素被采用并显示在第 4 位(以便一个序列中只能显示三辆丰田汽车)。
我需要能够浏览结果。
我正在使用RoR/太阳黑子仅供参考。
这可能吗?
不确定你是否能得到你想要的,但我建议看看结果分组。它允许您对特定字段具有相同值的结果进行分组,例如您的案例中的brand
。然后,您可以通过 group.limit
参数(默认为 1)定义每个品牌所需的结果数。然后,您可以通过 group.offset
参数对分组结果进行分页。
只要您的brand
字段不是多值的,它就应该有效。