Commit a4a15970 authored by Stan Hu's avatar Stan Hu

Merge branch 'fj-11777-lower-search-count-limits' into 'master'

Improve performance of search by lowering counters

Closes gitlab-ee#11777

See merge request gitlab-org/gitlab-ce!32211
parents cbb35ea8 107ebb82
---
title: Lower search counters
merge_request: 11777
author:
type: performance
......@@ -2,7 +2,8 @@
module Gitlab
class SearchResults
COUNT_LIMIT = 1001
COUNT_LIMIT = 101
COUNT_LIMIT_MESSAGE = "#{COUNT_LIMIT - 1}+"
attr_reader :current_user, :query, :per_page
......@@ -60,7 +61,7 @@ module Gitlab
def formatted_limited_count(count)
if count >= COUNT_LIMIT
"#{COUNT_LIMIT - 1}+"
COUNT_LIMIT_MESSAGE
else
count.to_s
end
......
......@@ -4,6 +4,8 @@
require 'spec_helper'
describe Gitlab::ProjectSearchResults do
include SearchHelpers
let(:user) { create(:user) }
let(:project) { create(:project) }
let(:query) { 'hello world' }
......@@ -31,10 +33,10 @@ describe Gitlab::ProjectSearchResults do
where(:scope, :count_method, :expected) do
'blobs' | :blobs_count | '1234'
'notes' | :limited_notes_count | '1000+'
'notes' | :limited_notes_count | max_limited_count
'wiki_blobs' | :wiki_blobs_count | '1234'
'commits' | :commits_count | '1234'
'projects' | :limited_projects_count | '1000+'
'projects' | :limited_projects_count | max_limited_count
'unknown' | nil | nil
end
......
......@@ -4,6 +4,7 @@ require 'spec_helper'
describe Gitlab::SearchResults do
include ProjectForksHelper
include SearchHelpers
let(:user) { create(:user) }
let!(:project) { create(:project, name: 'foo') }
......@@ -35,11 +36,11 @@ describe Gitlab::SearchResults do
using RSpec::Parameterized::TableSyntax
where(:scope, :count_method, :expected) do
'projects' | :limited_projects_count | '1000+'
'issues' | :limited_issues_count | '1000+'
'merge_requests' | :limited_merge_requests_count | '1000+'
'milestones' | :limited_milestones_count | '1000+'
'users' | :limited_users_count | '1000+'
'projects' | :limited_projects_count | max_limited_count
'issues' | :limited_issues_count | max_limited_count
'merge_requests' | :limited_merge_requests_count | max_limited_count
'milestones' | :limited_milestones_count | max_limited_count
'users' | :limited_users_count | max_limited_count
'unknown' | nil | nil
end
......@@ -56,9 +57,9 @@ describe Gitlab::SearchResults do
where(:count, :expected) do
23 | '23'
1000 | '1000'
1001 | '1000+'
1234 | '1000+'
100 | '100'
101 | max_limited_count
1234 | max_limited_count
end
with_them do
......
......@@ -3,6 +3,8 @@
require 'spec_helper'
describe Gitlab::SnippetSearchResults do
include SearchHelpers
let!(:snippet) { create(:snippet, content: 'foo', file_name: 'foo') }
let(:results) { described_class.new(Snippet.all, 'foo') }
......@@ -25,7 +27,7 @@ describe Gitlab::SnippetSearchResults do
where(:scope, :count_method, :expected) do
'snippet_titles' | :snippet_titles_count | '1234'
'snippet_blobs' | :snippet_blobs_count | '1234'
'projects' | :limited_projects_count | '1000+'
'projects' | :limited_projects_count | max_limited_count
'unknown' | nil | nil
end
......
......@@ -19,4 +19,8 @@ module SearchHelpers
click_link scope
end
end
def max_limited_count
Gitlab::SearchResults::COUNT_LIMIT_MESSAGE
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment