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

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

85 lines
4 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
2021-01-03 14:25:43 +05:30
group: Global Search
2021-02-22 17:27:13 +05:30
info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments"
2020-10-24 23:57:45 +05:30
type: reference
---
2022-10-11 01:57:18 +05:30
# Advanced Search **(PREMIUM)**
2019-07-31 22:56:46 +05:30
2022-05-07 20:08:51 +05:30
> Moved to GitLab Premium in 13.9.
2019-07-31 22:56:46 +05:30
2022-10-11 01:57:18 +05:30
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.
2020-05-24 23:13:21 +05:30
2022-10-11 01:57:18 +05:30
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:
2021-04-17 20:07:23 +05:30
- Projects
- Issues
- Merge requests
- Milestones
2022-07-23 23:45:48 +05:30
- Users
2022-10-11 01:57:18 +05:30
- Epics (in groups only)
2021-04-17 20:07:23 +05:30
- Code
2022-07-23 23:45:48 +05:30
- Comments
2021-04-17 20:07:23 +05:30
- Commits
2022-10-11 01:57:18 +05:30
- Project wikis (not [group wikis](../project/wiki/group.md))
2022-07-23 23:45:48 +05:30
2022-10-11 01:57:18 +05:30
## Configure Advanced Search
2022-07-23 23:45:48 +05:30
2022-10-11 01:57:18 +05:30
- On GitLab.com, Advanced Search is enabled for groups with paid subscriptions.
- For self-managed GitLab instances, an administrator must
[configure Advanced Search](../../integration/advanced_search/elasticsearch.md).
2020-10-24 23:57:45 +05:30
2022-10-11 01:57:18 +05:30
## Syntax
2021-02-22 17:27:13 +05:30
2022-10-11 01:57:18 +05:30
See [Advanced Search syntax](global_search/advanced_search_syntax.md) for more information.
2021-02-22 17:27:13 +05:30
2022-10-11 01:57:18 +05:30
## Search by ID
2021-02-22 17:27:13 +05:30
2022-10-11 01:57:18 +05:30
- To search by issue ID, use the `#` prefix followed by the issue ID (for example, [`#23456`](https://gitlab.com/search?snippets=&scope=issues&repository_ref=&search=%2323456&group_id=9970&project_id=278964)).
- To search by merge request ID, use the `!` prefix followed by the merge request ID (for example, [`!23456`](https://gitlab.com/search?snippets=&scope=merge_requests&repository_ref=&search=%2123456&group_id=9970&project_id=278964)).
2021-11-11 11:23:49 +05:30
## Global search scopes **(FREE SELF)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68640) 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](../../development/feature_flags/index.md#ops-type).
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:
| Scope | Feature flag | Description |
|--|--|--|
| Code | `global_search_code_tab` | When enabled, the global search includes code as part of the search. |
| Commits | `global_search_commits_tab` | When enabled, the global search includes commits as part of the search. |
| Issues | `global_search_issues_tab` | When enabled, the global search includes issues as part of the search. |
| Merge Requests | `global_search_merge_requests_tab` | When enabled, the global search includes merge requests as part of the search. |
2022-06-21 17:19:12 +05:30
| Users | `global_search_users_tab` | When enabled, the global search includes users as part of the search. |
2021-12-11 22:18:48 +05:30
| Wiki | `global_search_wiki_tab` | When enabled, the global search includes wiki as part of the search. [Group wikis](../project/wiki/group.md) are not included. |
2022-04-04 11:22:00 +05:30
## 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
2022-08-13 15:12:31 +05:30
doesn't return any results for searches considered abusive according to the following criteria:
2022-04-04 11:22:00 +05:30
- Searches with less than 2 characters.
- Searches with any term greater than 100 characters. URL search terms have a maximum of 200 characters.
2022-07-23 23:45:48 +05:30
- Searches with a stop word as the only term (for example, "the", "and", "if", etc.).
2022-04-04 11:22:00 +05:30
- 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](https://git-scm.com/docs/git-check-ref-format).
- Searches with a `scope` that is unknown.
2022-08-13 15:12:31 +05:30
Searches that don't comply with the criteria described below aren't logged as abusive but are flagged with an error:
2022-04-04 11:22:00 +05:30
- Searches with more than 4096 characters.
- Searches with more than 64 terms.