Я настроил граненый поиск, используя Sunspot, 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
Количество фасетов теперь рассчитывается на основе условия with (: facet_id, params [: facet_id]). Я хочу, чтобы подсчет фасетов ВСЕГДА вычислялся без этого условия.
Мне нужно выполнить два поиска? Один для поиска без условий (для вычисления количества фасетов) и один с условием для получения результатов. Или есть способ сделать это в одном запросе SOLR.
Спасибо
Хэмиш