debian-mirror-gitlab/doc/user/search/index.md

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

198 lines
9.3 KiB
Markdown
Raw Normal View History

2020-10-24 23:57:45 +05:30
---
2022-07-23 23:45:48 +05:30
stage: Data Stores
group: Global Search
2022-11-25 23:54:43 +05:30
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
2020-10-24 23:57:45 +05:30
---
2022-01-26 12:08:38 +05:30
# Searching in GitLab **(FREE)**
2017-08-17 22:00:37 +05:30
2022-07-23 23:45:48 +05:30
GitLab has two types of searches available: _basic_ and _advanced_.
2017-08-17 22:00:37 +05:30
2022-07-23 23:45:48 +05:30
Both types of search are the same, except when you are searching through code.
2017-08-17 22:00:37 +05:30
2022-07-23 23:45:48 +05:30
- When you use basic search to search code, your search includes one project at a time.
- When you use [advanced search](advanced_search.md) to search code, your search includes all projects at once.
2017-08-17 22:00:37 +05:30
2022-11-25 23:54:43 +05:30
## Global search scopes **(FREE SELF)**
2022-07-23 23:45:48 +05:30
2022-11-25 23:54:43 +05:30
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68640) in GitLab 14.3.
2022-07-23 23:45:48 +05:30
2022-11-25 23:54:43 +05:30
To improve the performance of your instance's global search, a GitLab administrator
can limit the search scope by disabling the following [`ops` feature flags](../../development/feature_flags/index.md#ops-type).
| Scope | Feature flag | Description |
|--|--|--|
| Code | `global_search_code_tab` | When enabled, global search includes code. |
| Commits | `global_search_commits_tab` | When enabled, global search includes commits. |
| Issues | `global_search_issues_tab` | When enabled, global search includes issues. |
| Merge requests | `global_search_merge_requests_tab` | When enabled, global search includes merge requests. |
| Users | `global_search_users_tab` | When enabled, global search includes users. |
| Wiki | `global_search_wiki_tab` | When enabled, global search includes project wikis (not [group wikis](../project/wiki/group.md)). |
All global search scopes are enabled by default on GitLab.com
and self-managed instances.
## Global search validation
Global search ignores and logs as abusive any search with:
- Fewer than 2 characters
- A term longer than 100 characters (URL search terms must not exceed 200 characters)
- A stop word only (for example, `the`, `and`, or `if`)
- An unknown `scope`
- `group_id` or `project_id` that is not completely numeric
- `repository_ref` or `project_ref` with special characters not allowed by [Git refname](https://git-scm.com/docs/git-check-ref-format)
Global search only flags with an error any search that includes more than:
- 4096 characters
- 64 terms
2022-07-23 23:45:48 +05:30
## Perform a search
2023-05-27 22:25:52 +05:30
To start a search, in the upper-right corner of the screen, in the search bar, type your search query.
2022-07-23 23:45:48 +05:30
You must type at least two characters.
2023-03-04 22:38:38 +05:30
![search navbar](img/search_navbar_v15_7.png)
2022-07-23 23:45:48 +05:30
After the results are displayed, you can modify the search, select a different type of data to
search, or choose a specific group or project.
2023-03-04 22:38:38 +05:30
![search scope](img/search_scope_v15_7.png)
2022-07-23 23:45:48 +05:30
## Search in code
To search through code or other documents in a project:
2022-10-11 01:57:18 +05:30
1. On the top bar, select **Main menu > Projects** and find your project.
2022-07-23 23:45:48 +05:30
1. On the top bar, in the search field, type the string you want to search for.
1. Press **Enter**.
Code search shows only the first result in the file.
2021-04-29 21:17:54 +05:30
2022-07-23 23:45:48 +05:30
To search across all of GitLab, ask your administrator to enable [advanced search](advanced_search.md).
2017-08-17 22:00:37 +05:30
2022-07-23 23:45:48 +05:30
### View Git blame from code search
2017-08-17 22:00:37 +05:30
2022-07-23 23:45:48 +05:30
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/327052) in GitLab 14.7.
2017-08-17 22:00:37 +05:30
2022-07-23 23:45:48 +05:30
After you find search results, you can view who made the last change to the line
where the results were found.
2017-08-17 22:00:37 +05:30
2022-07-23 23:45:48 +05:30
1. From the code search result, hover over the line number.
1. On the left, select **View blame**.
2017-08-17 22:00:37 +05:30
2023-05-27 22:25:52 +05:30
![code search results](img/code_search_git_blame_v15_1.png)
### Filter code search results by language
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/342651) in GitLab 15.10.
To filter code search results by one or more languages:
1. On the code search page, on the left sidebar, select one or more languages.
1. On the left sidebar, select **Apply**.
2017-08-17 22:00:37 +05:30
2023-04-23 21:23:45 +05:30
## Search for projects by full path
2023-06-20 00:43:36 +05:30
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108906) in GitLab 15.9 [with a flag](../../administration/feature_flags.md) named `full_path_project_search`. Disabled by default.
> - [Enabled](https://gitlab.com/gitlab-org/gitlab/-/issues/388473) on GitLab.com in GitLab 15.9.
> - [Enabled](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/111808) on self-managed GitLab 15.10.
> - [Generally available](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/114932) in GitLab 15.11. Feature flag `full_path_project_search` removed.
2023-04-23 21:23:45 +05:30
You can search for a project by entering its full path (including the namespace it belongs to) in the search box.
As you type the project path, [autocomplete suggestions](#autocomplete-suggestions) are displayed.
For example, the search query:
- `gitlab-org/gitlab` searches for the `gitlab` project in the `gitlab-org` namespace.
- `gitlab-org/` displays autocomplete suggestions for projects that belong to the `gitlab-org` namespace.
2022-07-23 23:45:48 +05:30
## Search for a SHA
2020-03-13 15:44:24 +05:30
2022-07-23 23:45:48 +05:30
You can search for a commit SHA.
2021-03-08 18:12:59 +05:30
2022-10-11 01:57:18 +05:30
1. On the top bar, select **Main menu > Projects** and find your project.
2022-07-23 23:45:48 +05:30
1. On the top bar, in the search field, type the SHA.
2020-03-13 15:44:24 +05:30
2022-07-23 23:45:48 +05:30
If a single result is returned, GitLab redirects to the commit result
and gives you the option to return to the search results page.
2020-03-13 15:44:24 +05:30
2022-07-23 23:45:48 +05:30
![project SHA search redirect](img/project_search_sha_redirect.png)
2017-08-17 22:00:37 +05:30
2022-07-23 23:45:48 +05:30
## Searching for specific terms
2018-03-17 18:26:18 +05:30
2022-11-25 23:54:43 +05:30
> - [Removed support for partial matches in issue searches](https://gitlab.com/gitlab-org/gitlab/-/issues/273784) in GitLab 14.9 [with a flag](../../administration/feature_flags.md) named `issues_full_text_search`. Disabled by default.
> - Feature flag [`issues_full_text_search` enabled on GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/issues/273784) in GitLab 14.10.
> - Feature flag [`issues_full_text_search` enabled on self-managed](https://gitlab.com/gitlab-org/gitlab/-/issues/273784) in GitLab 15.2.
2018-03-17 18:26:18 +05:30
You can filter issues and merge requests by specific terms included in titles or descriptions.
2019-03-02 22:35:43 +05:30
- Syntax
2021-03-08 18:12:59 +05:30
- Searches look for all the words in a query, in any order. For example: searching
issues for `display bug` returns all issues matching both those words, in any order.
2019-10-12 21:52:04 +05:30
- To find the exact term, use double quotes: `"display bug"`
2019-03-02 22:35:43 +05:30
- Limitation
2021-03-08 18:12:59 +05:30
- For performance reasons, terms shorter than 3 chars are ignored. For example: searching
2019-10-12 21:52:04 +05:30
issues for `included in titles` is same as `included titles`
2020-03-13 15:44:24 +05:30
- Search is limited to 4096 characters and 64 terms per query.
2022-11-25 23:54:43 +05:30
- When searching issues, partial matches are not allowed. For example: searching for `play` will
2023-04-23 21:23:45 +05:30
not return issues that have the word `display`. But variations of words match, so searching
2022-11-25 23:54:43 +05:30
for `displays` also returns issues that have the word `display`.
2018-03-17 18:26:18 +05:30
2022-07-23 23:45:48 +05:30
## Retrieve search results as feed
2021-11-11 11:23:49 +05:30
> Feeds for merge requests were [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/66336) in GitLab 14.3.
GitLab provides RSS feeds of search results for your project. To subscribe to the
RSS feed of search results:
1. Go to your project's page.
1. On the left sidebar, select **Issues** or **Merge requests**.
2022-07-23 23:45:48 +05:30
1. Perform a search.
2021-11-11 11:23:49 +05:30
1. Select the feed symbol **{rss}** to display the results as an RSS feed in Atom format.
The URL of the result contains both a feed token, and your search query.
You can add this URL to your feed reader.
2017-08-17 22:00:37 +05:30
## Search history
2021-03-11 19:13:27 +05:30
Search history is available for issues and merge requests, and is stored locally
in your browser. To run a search from history:
2017-08-17 22:00:37 +05:30
2022-05-07 20:08:51 +05:30
1. In the top menu, select **Issues** or **Merge requests**.
2022-07-23 23:45:48 +05:30
1. To the left of the search bar, select **Recent searches**, and select a search from the list.
2017-08-17 22:00:37 +05:30
## Removing search filters
2022-11-25 23:54:43 +05:30
Individual filters can be removed by selecting the filter's (x) button or backspacing. The entire search filter can be cleared by selecting the search box's (x) button or via <kbd></kbd> (Mac) + <kbd></kbd>.
2020-04-22 19:07:51 +05:30
2021-03-08 18:12:59 +05:30
To delete filter tokens one at a time, the <kbd></kbd> (Mac) / <kbd>Control</kbd> + <kbd></kbd> keyboard combination can be used.
2017-08-17 22:00:37 +05:30
2022-01-26 12:08:38 +05:30
## Autocomplete suggestions
2021-01-03 14:25:43 +05:30
2022-01-26 12:08:38 +05:30
In the search bar, you can view autocomplete suggestions for:
2021-01-03 14:25:43 +05:30
2023-04-23 21:23:45 +05:30
- [Projects](#search-for-projects-by-full-path) and groups
2023-03-04 22:38:38 +05:30
- Users
2021-01-03 14:25:43 +05:30
- Various help pages (try and type **API help**)
- Project feature pages (try and type **milestones**)
- Various settings pages (try and type **user settings**)
- Recently viewed issues (try and type some word from the title of a recently viewed issue)
- Recently viewed merge requests (try and type some word from the title of a recently viewed merge request)
- Recently viewed epics (try and type some word from the title of a recently viewed epic)
2022-06-21 17:19:12 +05:30
- [GitLab Flavored Markdown](../markdown.md#gitlab-specific-references) (GLFM) for issues in a project (try and type a GLFM reference for an issue)
2021-01-03 14:25:43 +05:30
2021-04-17 20:07:23 +05:30
## Search settings
2021-03-08 18:12:59 +05:30
2021-12-11 22:18:48 +05:30
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/292941) in GitLab 13.8 [with a flag](../../administration/feature_flags.md) named `search_settings_in_page`. Disabled by default.
2022-05-07 20:08:51 +05:30
> - [Added](https://gitlab.com/groups/gitlab-org/-/epics/4842) to Group, Administrator, and User settings in GitLab 13.9.
2021-12-11 22:18:48 +05:30
> - [Feature flag `search_settings_in_page` removed](https://gitlab.com/gitlab-org/gitlab/-/issues/294025) in GitLab 13.11.
> - [Generally available](https://gitlab.com/gitlab-org/gitlab/-/issues/294025) in GitLab 13.11.
2021-03-08 18:12:59 +05:30
2021-10-27 15:23:28 +05:30
You can search inside a Project, Group, Administrator, or User's settings by entering
2021-04-17 20:07:23 +05:30
a search term in the search box located at the top of the page. The search results
2021-03-08 18:12:59 +05:30
appear highlighted in the sections that match the search term.
![Search project settings](img/project_search_general_settings_v13_8.png)