2013-07-16 53 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年以前的同事,他說同樣的事情。謝謝! –