2013-07-16 51 views
3

不同的限制我工作的一个项目,我需要选择从Solr的索引文件。结果由一个称为rank的字段排序。问题是,但是,顶部3的结果应该是收费的结果,这是由一个不同的字段定义,例如溢价。Solr的结果分组,每组

现在我知道我可以团体成绩方面,比如做:

group.query=rank[0 TO 100] 

group.query=premium[1] 

我可以通过添加

group.limit=LIMIT 

限制这些结果,但这个限制适用于所有组。

是否有此限制只适用于第一组的方式,这样我就可以限制溢价的成绩来回报只有3个文件?

回答

5

没有看到该选项。

如果您总是需要返回一些高级结果,那么使用group-by可能会非常棘手 - 如果结果集(假设您使用'rows'参数将结果集限制为某个值)不包含任何结果集优质结果?

也许,将其分解为非高级查询并使用LIMIT作为'rows'参数&高级查询where'rows'= 3是更好的吗?

只是一个意见!

还有就是允许一个请求多个查询挂起的请求 - https://issues.apache.org/jira/browse/SOLR-1093

+0

是的,我相信这是去得的方式。做了一些头脑风暴与谁是被处理Solr的2年以前的同事,他说同样的事情。谢谢! –