2009-04-20 61 views
1

我想在搜索之前過濾我的結果集。我知道正確的方法是使用過濾器查詢(fq)參數。但是,我想根據在字段上執行的功能的輸出進行過濾。在Solr中使用過濾器查詢中的函數

我有一個字段'rating',它是1到〜75000範圍內的整數。上限可能會改變。我想過濾到評分最高的前500個項目。在SQL這將是這樣的:

... ORDER BY rating DESC LIMIT 500 

我想我可以在Solr的按排名降序使用功能rord(得分)排名的文件,所以基本上我想這樣做:

fq=rord(rating):[0 TO 500] 

但這似乎不可能。有誰知道我還能做什麼?

回答

1

除非我遺漏了某些東西,否則無法按評分字段排序,然後簡單地取第500個。這與您的SQL示例相同。

+0

我無法將響應限制爲500,因爲a。這將消除尋呼的重點;和b。我想運行一個過濾器查詢,這樣我就可以在500個文檔中進行分析。 – cubabit 2009-04-21 09:32:04