1
我已經使用太陽黑子,SOLR設置分面搜索。就像這樣:太陽黑子Solr - 使用刻面
for row in @search.facet(:facet_id).rows
link_to row.instance.name, :url_for(:search => params[:q], :facet_id => row.value)
我的問題是,當我執行控制器這樣的面搜索:
@search = Sunspot.search(MyModel) do
keywords search_text
facet :facet_id
with(:facet_id, params[:facet_id]) if params[:facet_id].present?
end
的面數是基於與(現計算:facet_id,則params [: facet_id])條件。我希望總是能夠在沒有這種情況下計算方面數。
我需要執行兩次搜索嗎?一個用於沒有條件的搜索(計算方面計數)和一個用於檢索結果的條件。或者有一種方法可以在一個SOLR查詢中執行此操作。
感謝
哈米什
非常感謝你! – Hamish 2011-06-16 23:14:44
有沒有一種簡單的方法來創建'全部'方面?因爲@ search.total不會從計算中排除方面。謝謝 – Hamish 2011-06-17 00:31:15
有一個「全部」方面的功能,但太陽黑子使用Solr查詢方面的方法來計算它,並且(在我的實驗中)查詢方面無法正常使用多選,即使文檔說他們應該。不過,這可能會在Solr 3.1中得到修復,所以如果你的目標是3.1,那就給它一個鏡頭(這是'太陽黑子'的'facet'方法的':extra'選項)。 – outoftime 2011-06-17 13:04:34