Advanced Search syntax (PREMIUM)

With Advanced Search, you can perform a thorough search through your entire GitLab instance.

The Advanced Search syntax supports fuzzy or exact search queries with prefixes, boolean operators, and much more. Advanced Search uses Elasticsearch's syntax.

WARNING: Advanced Search searches projects' default branches only.

See query examples on the tables below and their respective expected output. The examples link to a search on GitLab.com to help you visualize the output.

General search

Query example Expected output
“display bug” Returns the exact phrase display bug (stemming still applies).
bug -display Results include bug, and exclude display.
bug | display Results include bug or display.
bug | (display +banner) Results include bug or display and banner.
bug error 50* * finds partial matches. Results include bug, error, and the partial 50 (looking for any 500 errors, for example).
bug \-display \ scapes symbols. Results include bug and -display.

Code Search

Query example Expected output Notes
filename:*spec.rb Returns the specified filename. Use * for fuzzy matching.
path:spec/controllers/ Returns the specified path location of the repository. Use * for fuzzy matching.
extension:js Returns the specified file extension. Do not include a leading dot. This only works with exact matches for the extension.
blob:998707b421c89b* Returns the specified Git object ID. This only works with exact matches.

Excluding filters

Filters can also be inverted to filter out results from the result set by prefixing the filter name with a - (hyphen) character.

Query example Expected output
rails -filename:gemfile.lock Results include rails in all files except the gemfile.lock file.