Получение количества попаданий без пагинации в пятне 1.2 на рубине на рельсах 3 - PullRequest
4 голосов
/ 01 декабря 2010

Я успешно установил Sunspot для своего проекта Ruby On Rails 3, но не могу найти способ получить общее количество попаданий по поисковому запросу.

это мой поисковый запрос

@search = Sunspot.search(Job) do
    fulltext params[:job]
    paginate(:page => params[:offset], :per_page => 25)
end

Это работает хорошо, за исключением того, что мне нужно получить общее количество реальных хитов, а не общее количество возвращаемых результатов (в данном случае 25 из-за: per_page => 25)

Другими словами, яхотите отобразить: Показано от 1 до 25 из 883 найденных вакансий

Буду признателен за любую помощь!

спасибо

Ответы [ 2 ]

11 голосов
/ 07 марта 2011

Метод total работает здесь.

query_results = Sunspot.search(Recipe) do
  keywords(params[:qs])
  paginate(:page=>params[:page], :per_page=>30)
end

@search_results = query_result.results
@search_total = @search_results.total

Или, по вашему мнению, total_entries работает с объектом результатов.

    %div
      Your search for 
      = params[:qs]
      returned
      = pluralize(@search_results.total_entries, 'result')
3 голосов
/ 01 декабря 2010

Никогда не использовал Sunspot, но вы пробовали это по вашему мнению:

Showing #{@search.hits.page} to #{@search.hits.per_page} out of #{@search.total} jobs found
...