Advanced Search

Moved to GitLab Premium in 13.9.

You can use Advanced Search for faster, more efficient search across the entire GitLab instance. Advanced Search is based on Elasticsearch, a purpose-built full-text search engine you can horizontally scale to get results in up to a second in most cases.

You can find code you want to update in all projects at once to save maintenance time and promote innersourcing.

You can use Advanced Search in:

  • Projects
  • Issues
  • Merge requests
  • Milestones
  • Users
  • Epics (in groups only)
  • Code
  • Comments
  • Commits
  • Project wikis (not group wikis)
  • On GitLab.com, Advanced Search is enabled for groups with paid subscriptions.
  • For self-managed GitLab instances, an administrator must configure Advanced Search.

Syntax

See Advanced Search syntax for more information.

Search by ID

  • To search by issue ID, use the # prefix followed by the issue ID (for example, #23456).
  • To search by merge request ID, use the ! prefix followed by the merge request ID (for example, !23456).

Global search scopes

Introduced in GitLab 14.3.

To improve the performance of your instance’s global search, you can limit the scope of the search. To do so, you can exclude global search scopes by disabling ops feature flags.

Global search has all its scopes enabled by default in GitLab SaaS and self-managed instances. A GitLab administrator can disable the following ops feature flags to limit the scope of your instance’s global search and optimize its performance:

ScopeFeature flagDescription
Codeglobal_search_code_tabWhen enabled, the global search includes code as part of the search.
Commitsglobal_search_commits_tabWhen enabled, the global search includes commits as part of the search.
Issuesglobal_search_issues_tabWhen enabled, the global search includes issues as part of the search.
Merge Requestsglobal_search_merge_requests_tabWhen enabled, the global search includes merge requests as part of the search.
Usersglobal_search_users_tabWhen enabled, the global search includes users as part of the search.
Wikiglobal_search_wiki_tabWhen enabled, the global search includes wiki as part of the search. Group wikis are not included.

Global Search validation

To prevent abusive searches, such as searches that may result in a Distributed Denial of Service (DDoS), Global Search ignores, logs, and doesn’t return any results for searches considered abusive according to the following criteria:

  • Searches with less than 2 characters.
  • Searches with any term greater than 100 characters. URL search terms have a maximum of 200 characters.
  • Searches with a stop word as the only term (for example, “the”, “and”, “if”, etc.).
  • Searches with a group_id or project_id parameter that is not completely numeric.
  • Searches with a repository_ref or project_ref parameter that has special characters not allowed by Git refname.
  • Searches with a scope that is unknown.

Searches that don’t comply with the criteria described below aren’t logged as abusive but are flagged with an error:

  • Searches with more than 4096 characters.
  • Searches with more than 64 terms.