Commit 107ebb82 authored by Francisco Javier López's avatar Francisco Javier López Committed by Stan Hu

Lower searches count limit

Lowering the limit when performing search from 1001 to 101.
This will allow us to speed this process.
parent cbb35ea8
---
title: Lower search counters
merge_request: 11777
author:
type: performance
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
module Gitlab module Gitlab
class SearchResults class SearchResults
COUNT_LIMIT = 1001 COUNT_LIMIT = 101
COUNT_LIMIT_MESSAGE = "#{COUNT_LIMIT - 1}+"
attr_reader :current_user, :query, :per_page attr_reader :current_user, :query, :per_page
...@@ -60,7 +61,7 @@ module Gitlab ...@@ -60,7 +61,7 @@ module Gitlab
def formatted_limited_count(count) def formatted_limited_count(count)
if count >= COUNT_LIMIT if count >= COUNT_LIMIT
"#{COUNT_LIMIT - 1}+" COUNT_LIMIT_MESSAGE
else else
count.to_s count.to_s
end end
......
...@@ -4,6 +4,8 @@ ...@@ -4,6 +4,8 @@
require 'spec_helper' require 'spec_helper'
describe Gitlab::ProjectSearchResults do describe Gitlab::ProjectSearchResults do
include SearchHelpers
let(:user) { create(:user) } let(:user) { create(:user) }
let(:project) { create(:project) } let(:project) { create(:project) }
let(:query) { 'hello world' } let(:query) { 'hello world' }
...@@ -31,10 +33,10 @@ describe Gitlab::ProjectSearchResults do ...@@ -31,10 +33,10 @@ describe Gitlab::ProjectSearchResults do
where(:scope, :count_method, :expected) do where(:scope, :count_method, :expected) do
'blobs' | :blobs_count | '1234' 'blobs' | :blobs_count | '1234'
'notes' | :limited_notes_count | '1000+' 'notes' | :limited_notes_count | max_limited_count
'wiki_blobs' | :wiki_blobs_count | '1234' 'wiki_blobs' | :wiki_blobs_count | '1234'
'commits' | :commits_count | '1234' 'commits' | :commits_count | '1234'
'projects' | :limited_projects_count | '1000+' 'projects' | :limited_projects_count | max_limited_count
'unknown' | nil | nil 'unknown' | nil | nil
end end
......
...@@ -4,6 +4,7 @@ require 'spec_helper' ...@@ -4,6 +4,7 @@ require 'spec_helper'
describe Gitlab::SearchResults do describe Gitlab::SearchResults do
include ProjectForksHelper include ProjectForksHelper
include SearchHelpers
let(:user) { create(:user) } let(:user) { create(:user) }
let!(:project) { create(:project, name: 'foo') } let!(:project) { create(:project, name: 'foo') }
...@@ -35,11 +36,11 @@ describe Gitlab::SearchResults do ...@@ -35,11 +36,11 @@ describe Gitlab::SearchResults do
using RSpec::Parameterized::TableSyntax using RSpec::Parameterized::TableSyntax
where(:scope, :count_method, :expected) do where(:scope, :count_method, :expected) do
'projects' | :limited_projects_count | '1000+' 'projects' | :limited_projects_count | max_limited_count
'issues' | :limited_issues_count | '1000+' 'issues' | :limited_issues_count | max_limited_count
'merge_requests' | :limited_merge_requests_count | '1000+' 'merge_requests' | :limited_merge_requests_count | max_limited_count
'milestones' | :limited_milestones_count | '1000+' 'milestones' | :limited_milestones_count | max_limited_count
'users' | :limited_users_count | '1000+' 'users' | :limited_users_count | max_limited_count
'unknown' | nil | nil 'unknown' | nil | nil
end end
...@@ -56,9 +57,9 @@ describe Gitlab::SearchResults do ...@@ -56,9 +57,9 @@ describe Gitlab::SearchResults do
where(:count, :expected) do where(:count, :expected) do
23 | '23' 23 | '23'
1000 | '1000' 100 | '100'
1001 | '1000+' 101 | max_limited_count
1234 | '1000+' 1234 | max_limited_count
end end
with_them do with_them do
......
...@@ -3,6 +3,8 @@ ...@@ -3,6 +3,8 @@
require 'spec_helper' require 'spec_helper'
describe Gitlab::SnippetSearchResults do describe Gitlab::SnippetSearchResults do
include SearchHelpers
let!(:snippet) { create(:snippet, content: 'foo', file_name: 'foo') } let!(:snippet) { create(:snippet, content: 'foo', file_name: 'foo') }
let(:results) { described_class.new(Snippet.all, 'foo') } let(:results) { described_class.new(Snippet.all, 'foo') }
...@@ -25,7 +27,7 @@ describe Gitlab::SnippetSearchResults do ...@@ -25,7 +27,7 @@ describe Gitlab::SnippetSearchResults do
where(:scope, :count_method, :expected) do where(:scope, :count_method, :expected) do
'snippet_titles' | :snippet_titles_count | '1234' 'snippet_titles' | :snippet_titles_count | '1234'
'snippet_blobs' | :snippet_blobs_count | '1234' 'snippet_blobs' | :snippet_blobs_count | '1234'
'projects' | :limited_projects_count | '1000+' 'projects' | :limited_projects_count | max_limited_count
'unknown' | nil | nil 'unknown' | nil | nil
end end
......
...@@ -19,4 +19,8 @@ module SearchHelpers ...@@ -19,4 +19,8 @@ module SearchHelpers
click_link scope click_link scope
end end
end end
def max_limited_count
Gitlab::SearchResults::COUNT_LIMIT_MESSAGE
end
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