Commit bbb8594c53c7c0600ce5cea9d5f195735a759651
1 parent
e3aaf966
Exists in
master
and in
29 other branches
Use new acts_as_solr interface for pagination
Showing
1 changed file
with
7 additions
and
7 deletions
Show diff stats
lib/acts_as_searchable.rb
... | ... | @@ -31,27 +31,29 @@ module ActsAsSearchable |
31 | 31 | def find_by_contents(query, pg_options = {}, options = {}, db_options = {}) |
32 | 32 | pg_options[:page] ||= 1 |
33 | 33 | pg_options[:per_page] ||= 20 |
34 | - options[:limit] ||= pg_options[:per_page].to_i*pg_options[:page].to_i | |
34 | + options[:page] = pg_options[:page].to_i | |
35 | + options[:per_page] = pg_options[:per_page].to_i | |
35 | 36 | options[:scores] ||= true |
36 | 37 | options[:filter_queries] ||= [] |
37 | - all_facets_enabled = options.delete(:all_facets) | |
38 | 38 | options[:filter_queries] << "schema_name:\"#{schema_name}\"" unless schema_name.empty? |
39 | + all_facets_enabled = options.delete(:all_facets) | |
40 | + options[:per_page] = options.delete(:extra_limit) if options[:extra_limit] | |
39 | 41 | results = [] |
40 | 42 | facets = all_facets = {} |
41 | 43 | |
42 | 44 | solr_result = find_by_solr(query, options) |
43 | 45 | if all_facets_enabled |
44 | 46 | options[:facets][:browse] = nil |
45 | - all_facets = find_by_solr(query, options.merge(:limit => 0)).facets | |
47 | + all_facets = find_by_solr(query, options.merge(:per_page => 0)).facets | |
46 | 48 | end |
47 | 49 | |
48 | 50 | if !solr_result.nil? |
49 | 51 | facets = options.include?(:facets) ? solr_result.facets : [] |
50 | 52 | |
51 | 53 | if db_options.empty? |
52 | - results = solr_result.results | |
54 | + results = solr_result | |
53 | 55 | else |
54 | - ids = solr_result.results.map{|r|r[:id].to_i} | |
56 | + ids = solr_result.results.map{ |r| r[:id].to_i } | |
55 | 57 | if ids.empty? |
56 | 58 | ids << -1 |
57 | 59 | end |
... | ... | @@ -64,8 +66,6 @@ module ActsAsSearchable |
64 | 66 | |
65 | 67 | results = find(:all, db_options) |
66 | 68 | end |
67 | - | |
68 | - results = results.paginate(pg_options.merge(:total_entries => solr_result.total)) | |
69 | 69 | end |
70 | 70 | |
71 | 71 | {:results => results, :facets => facets, :all_facets => all_facets} | ... | ... |