我正在开展一个项目,我需要从Solr索引中选择文档。结果按名为rank的字段排序。然而,问题在于前3个结果应该是优质结果,这些结果由不同的领域定义,例如溢价。
现在我知道我可以对结果进行分组,例如:
group.query=rank[0 TO 100]
和
group.query=premium[1]
我可以通过添加
来限制这些结果group.limit=LIMIT
但此限制适用于所有组。
有没有办法只将此限制应用于第一组,以便我可以限制优质结果只返回3个文件?
答案 0 :(得分:5)
没有看到一个选项。
如果你总是要返回一些优质结果,那么使用group-by可能会很棘手 - 如果结果集(假设你使用'rows'参数将结果集限制为某个值)会带来什么溢价呢?结果
也许,将其分解为非高级查询并使用LIMIT作为'rows'参数&高级查询'rows'= 3哪个更好?
只是一个意见!
请求允许在一个请求待处理中进行多个查询 - https://issues.apache.org/jira/browse/SOLR-1093