我正在做一个项目,我需要从 Solr 索引中选择文档。结果按称为等级的字段排序。然而,问题是前 3 个结果应该是 premium 结果,它们由不同的字段定义,例如 premium。
现在我知道我可以对结果进行分组,例如:
group.query=rank[0 TO 100]
和
group.query=premium[1]
我可以通过添加来限制这些结果
group.limit=LIMIT
但此限制适用于所有组。
有没有办法只将此限制应用于第一组,以便我可以将高级结果限制为仅返回 3 个文档?
最佳答案
看不到那个选项。
如果您总是必须返回一些高级结果,那么为此使用 group-by 可能会很棘手 - 如果结果集(假设您使用“行”参数将结果集限制为某个值)不包含任何高级结果怎么办结果?
也许,将其分解为非高级查询并使用 LIMIT 作为“行”参数和高级查询,其中“行”= 3 更好?
只是一个意见!
有一个请求允许在一个待处理的请求中进行多个查询 - https://issues.apache.org/jira/browse/SOLR-1093
关于Solr 结果分组,每组限制不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17677595/