Rewrites search engine to properly paginate results (#18631).

Instead of counting and retrieving results based on their timestamps, we now load all result ids then load the appropriate results by their ids. This also brings a 2x performance improvement as we search tokens in one of the 2 queries only.

git-svn-id: http://svn.redmine.org/redmine/trunk@13739 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2014-12-12 20:49:31 +00:00
parent 963719042a
commit 2fe806a4a4
11 changed files with 130 additions and 125 deletions

View File

@@ -35,9 +35,9 @@ class Changeset < ActiveRecord::Base
:url => Proc.new {|o| {:controller => 'repositories', :action => 'revision', :id => o.repository.project, :repository_id => o.repository.identifier_param, :rev => o.identifier}}
acts_as_searchable :columns => 'comments',
:scope => preload(:repository => :project),
:preload => {:repository => :project},
:project_key => "#{Repository.table_name}.project_id",
:date_column => "#{Changeset.table_name}.committed_on"
:date_column => :committed_on
acts_as_activity_provider :timestamp => "#{table_name}.committed_on",
:author_key => :user_id,