diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-03-03 03:10:50 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-03-03 03:10:50 +0300 |
commit | 8d9c82762d6c4f10f4d3eba5d484179f98c284b0 (patch) | |
tree | 4e89532d0d82bfaa1af660a76091528eb4aebc86 /doc/user/search | |
parent | eb1755b2d90efcc161774f66ccd2317ad4c471de (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc/user/search')
-rw-r--r-- | doc/user/search/advanced_global_search.md | 70 | ||||
-rw-r--r-- | doc/user/search/advanced_search.md | 115 | ||||
-rw-r--r-- | doc/user/search/advanced_search_syntax.md | 90 | ||||
-rw-r--r-- | doc/user/search/img/advanced_global_search.png | bin | 15017 -> 0 bytes | |||
-rw-r--r-- | doc/user/search/img/advanced_search_v13.10.png | bin | 0 -> 46767 bytes | |||
-rw-r--r-- | doc/user/search/index.md | 8 |
6 files changed, 124 insertions, 159 deletions
diff --git a/doc/user/search/advanced_global_search.md b/doc/user/search/advanced_global_search.md index 2d1a05cd966..44af6f90cd9 100644 --- a/doc/user/search/advanced_global_search.md +++ b/doc/user/search/advanced_global_search.md @@ -1,70 +1,8 @@ --- -stage: Enablement -group: Global Search -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" -type: reference +redirect_to: advanced_search.md --- -# Advanced Search **(PREMIUM)** +This document was moved to [another location](advanced_search.md). -> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/109) in GitLab 8.4. -> - [Moved](../../subscriptions/bronze_starter.md) to GitLab Premium in 13.9. - -NOTE: -Advanced Search (powered by Elasticsearch) is enabled for Bronze and above on GitLab.com since 2020-07-10. - -Leverage Elasticsearch for faster, more advanced code search across your entire -GitLab instance. - -This is the user documentation. To install and configure Elasticsearch, -visit the [administrator documentation](../../integration/elasticsearch.md). - -## Overview - -The Advanced Search in GitLab is a powerful search service that saves -you time. Instead of creating duplicate code and wasting time, you can -now search for code within other projects that can help your own project. - -GitLab leverages the search capabilities of [Elasticsearch](https://www.elastic.co/elasticsearch/) and enables it when -searching in: - -- Projects -- Issues -- Merge requests -- Milestones -- Comments -- Code -- Commits -- Wiki -- Users - -## Use cases - -The Advanced Search can be useful in various scenarios. - -### Faster searches - -Advanced Search is based on Elasticsearch, which is a purpose built full text search engine that can be horizontally scaled so that it can provide search results in 1-2 seconds in most cases. - -### Promote innersourcing - -Your company may consist of many different developer teams each of which has -their own group where the various projects are hosted. Some of your applications -may be connected to each other, so your developers need to instantly search -throughout the GitLab instance and find the code they search for. - -## Searching globally - -Just use the search as before and GitLab will show you matching code from each -project you have access to. - -![Advanced Search](img/advanced_global_search.png) - -You can also use the [Advanced Search Syntax](advanced_search_syntax.md) which -provides some useful queries. - -NOTE: -Elasticsearch has only data for the default branch. That means that if you go -to the repository tree and switch the branch from the default to something else, -then the "Code" tab in the search result page will be served by the basic -search even if Elasticsearch is enabled. +<!-- This redirect file can be deleted after <2021-02-12>. --> +<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page --> diff --git a/doc/user/search/advanced_search.md b/doc/user/search/advanced_search.md new file mode 100644 index 00000000000..d11f02addea --- /dev/null +++ b/doc/user/search/advanced_search.md @@ -0,0 +1,115 @@ +--- +stage: Enablement +group: Global Search +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" +type: reference +--- + +# GitLab Advanced Search **(PREMIUM)** + +> - Moved to GitLab Premium in 13.9. + +NOTE: +This is the user documentation. To configure the Advanced Search, +visit the [administrator documentation](../../integration/elasticsearch.md). + +GitLab Advanced Search expands on the Basic Search with an additional set of +features for faster, more advanced searches across the entire GitLab instance +when searching in: + +- Projects +- Issues +- Merge requests +- Milestones +- Epics +- Comments +- Code +- Commits +- Wiki +- Users + +The Advanced Search can be useful in various scenarios: + +- **Faster searches:** + Advanced Search is based on Elasticsearch, which is a purpose-built full + text search engine that can be horizontally scaled so that it can provide + search results in 1-2 seconds in most cases. +- **Promote innersourcing:** + Your company may consist of many different developer teams each of which has + their own group where the various projects are hosted. Some of your applications + may be connected to each other, so your developers need to instantly search + throughout the GitLab instance and find the code they search for. + +## Use the Advanced Search syntax + +Elasticsearch has only data for the default branch. That means that if you go +to the repository tree and switch the branch from the default to something else, +then the "Code" tab in the search result page will be served by the basic +search even if Elasticsearch is enabled. + +The Advanced Search syntax supports fuzzy or exact search queries with prefixes, +boolean operators, and much more. Use the search as before and GitLab will show +you matching code from each project you have access to. + +![Advanced Search](img/advanced_search_v13.10.png) + +Full details can be found in the [Elasticsearch documentation](https://www.elastic.co/guide/en/elasticsearch/reference/5.3/query-dsl-simple-query-string-query.html#_simple_query_string_syntax), but +here's a quick guide: + +- Searches look for all the words in a query, in any order - e.g.: searching + issues for [`display bug`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=issues&repository_ref=&search=display+bug&group_id=9970&project_id=278964) and [`bug display`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=issues&repository_ref=&search=bug+Display&group_id=9970&project_id=278964) will return the same results. +- To find the exact phrase (stemming still applies), use double quotes: [`"display bug"`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=issues&repository_ref=&search=%22display+bug%22&group_id=9970&project_id=278964) +- To find bugs not mentioning display, use `-`: [`bug -display`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=issues&repository_ref=&search=bug+-display&group_id=9970&project_id=278964) +- To find a bug in display or banner, use `|`: [`bug display | banner`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=issues&repository_ref=&search=bug+display+%7C+banner&group_id=9970&project_id=278964) +- To group terms together, use parentheses: [`bug | (display +banner)`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=issues&repository_ref=&search=bug+%7C+%28display+%2Bbanner%29&group_id=9970&project_id=278964) +- To match a partial word, use `*`. In this example, I want to find bugs with any 500 errors. : [`bug error 50*`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=issues&repository_ref=&search=bug+error+50*&group_id=9970&project_id=278964) +- To use one of symbols above literally, escape the symbol with a preceding `\`: [`argument \-last`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=blobs&repository_ref=&search=argument+%5C-last&group_id=9970&project_id=278964) + +## Syntax search filters + +Advanced Search also supports the use of filters. The available filters are: + +- `filename`: Filters by filename. You can use the glob (`*`) operator for fuzzy matching. +- `path`: Filters by path. You can use the glob (`*`) operator for fuzzy matching. +- `extension`: Filters by extension in the filename. Please write the extension without a leading dot. Exact match only. +- `blob`: Filters by Git `object ID`. Exact match only. + +To use them, add them to your keyword in the format `<filter_name>:<value>` without +any spaces between the colon (`:`) and the value. When no keyword is provided, an asterisk (`*`) will be used as the keyword. + +Examples: + +- Finding a file with any content named `search_results.rb`: [`* filename:search_results.rb`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=blobs&repository_ref=&search=*+filename%3Asearch_results.rb&group_id=9970&project_id=278964) +- The leading asterisk (`*`) can be ignored in the case above: [`filename:search_results.rb`](https://gitlab.com/search?group_id=9970&project_id=278964&scope=blobs&search=filename%3Asearch_results.rb) +- Finding a file named `found_blob_spec.rb` with the text `CHANGELOG` inside of it: [`CHANGELOG filename:found_blob_spec.rb`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=blobs&repository_ref=&search=CHANGELOG+filename%3Afound_blob_spec.rb&group_id=9970&project_id=278964) +- Finding the text `EpicLinks` inside files with the `.rb` extension: [`EpicLinks extension:rb`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=blobs&repository_ref=&search=EpicLinks+extension%3Arb&group_id=9970&project_id=278964) +- Finding any file with the `.yaml` extension: [`extension:yaml`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=blobs&repository_ref=&search=extension%3Ayaml&group_id=9970&project_id=278964) +- Finding the text `Sidekiq` in a file, when that file is in a path that includes `elastic`: [`Sidekiq path:elastic`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=blobs&repository_ref=&search=Sidekiq+path%3Aelastic&group_id=9970&project_id=278964) +- Finding any file in a path that includes `elasticsearch`: [`path:elasticsearch`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=blobs&repository_ref=&search=path%3Aelasticsearch&group_id=9970&project_id=278964) +- Finding the files represented by the Git object ID `998707b421c89bd9a3063333f9f728ef3e43d101`: [`* blob:998707b421c89bd9a3063333f9f728ef3e43d101`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=false&scope=blobs&repository_ref=&search=*+blob%3A998707b421c89bd9a3063333f9f728ef3e43d101&group_id=9970) +- Syntax filters can be combined for complex filtering. Finding any file starting with `search` containing `eventHub` and with the `.js` extension: [`eventHub filename:search* extension:js`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=blobs&repository_ref=&search=eventHub+filename%3Asearch*+extension%3Ajs&group_id=9970&project_id=278964) + +### Excluding filters + +[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/31684) in GitLab Starter 13.3. + +Filters can be inverted to **filter out** results from the result set, by prefixing the filter name with a `-` (hyphen) character, such as: + +- `-filename` +- `-path` +- `-extension` +- `-blob` + +Examples: + +- Finding `rails` in all files but `Gemfile.lock`: [`rails -filename:Gemfile.lock`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=blobs&repository_ref=&search=rails+-filename%3AGemfile.lock&group_id=9970&project_id=278964) +- Finding `success` in all files excluding `.po|pot` files: [`success -filename:*.po*`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=blobs&repository_ref=&search=success+-filename%3A*.po*&group_id=9970&project_id=278964) +- Finding `import` excluding minified JavaScript (`.min.js`) files: [`import -extension:min.js`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=blobs&repository_ref=&search=import+-extension%3Amin.js&group_id=9970&project_id=278964) +- Finding `docs` for all files outside the `docs/` folder: [`docs -path:docs/`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=blobs&repository_ref=&search=docs+-path%3Adocs%2F&group_id=9970&project_id=278964) + +## Search by issue or merge request ID + +You can search a specific issue or merge request by its ID with a special prefix. + +- To search by issue ID, use prefix `#` followed by issue ID. For example, [#23456](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=issues&repository_ref=&search=%2323456&group_id=9970&project_id=278964) +- To search by merge request ID, use prefix `!` followed by merge request ID. For example [!23456](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=merge_requests&repository_ref=&search=%2123456&group_id=9970&project_id=278964) diff --git a/doc/user/search/advanced_search_syntax.md b/doc/user/search/advanced_search_syntax.md index 19f7305124e..44af6f90cd9 100644 --- a/doc/user/search/advanced_search_syntax.md +++ b/doc/user/search/advanced_search_syntax.md @@ -1,90 +1,8 @@ --- -stage: Enablement -group: Global Search -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" -type: reference +redirect_to: advanced_search.md --- -# Advanced Search Syntax **(PREMIUM)** +This document was moved to [another location](advanced_search.md). -> - Introduced in [GitLab](https://about.gitlab.com/pricing/) 9.2. -> - [Moved](../../subscriptions/bronze_starter.md) to GitLab Premium in 13.9. - -Use advanced queries for more targeted search results. - -This is the user documentation. To install and configure Elasticsearch, -visit the [administrator documentation](../../integration/elasticsearch.md). - -## Overview - -The Advanced Search Syntax is a subset of the -[Advanced Search](advanced_global_search.md), which you can use if you -want to have more specific search results. - -Advanced Search only supports searching the [default branch](../project/repository/branches/index.md#default-branch). - -## Using the Advanced Search Syntax - -The Advanced Search Syntax supports fuzzy or exact search queries with prefixes, -boolean operators, and much more. - -Full details can be found in the [Elasticsearch documentation](https://www.elastic.co/guide/en/elasticsearch/reference/5.3/query-dsl-simple-query-string-query.html#_simple_query_string_syntax), but -here's a quick guide: - -- Searches look for all the words in a query, in any order - e.g.: searching - issues for [`display bug`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=issues&repository_ref=&search=display+bug&group_id=9970&project_id=278964) and [`bug display`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=issues&repository_ref=&search=bug+Display&group_id=9970&project_id=278964) will return the same results. -- To find the exact phrase (stemming still applies), use double quotes: [`"display bug"`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=issues&repository_ref=&search=%22display+bug%22&group_id=9970&project_id=278964) -- To find bugs not mentioning display, use `-`: [`bug -display`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=issues&repository_ref=&search=bug+-display&group_id=9970&project_id=278964) -- To find a bug in display or banner, use `|`: [`bug display | banner`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=issues&repository_ref=&search=bug+display+%7C+banner&group_id=9970&project_id=278964) -- To group terms together, use parentheses: [`bug | (display +banner)`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=issues&repository_ref=&search=bug+%7C+%28display+%2Bbanner%29&group_id=9970&project_id=278964) -- To match a partial word, use `*`. In this example, I want to find bugs with any 500 errors. : [`bug error 50*`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=issues&repository_ref=&search=bug+error+50*&group_id=9970&project_id=278964) -- To use one of symbols above literally, escape the symbol with a preceding `\`: [`argument \-last`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=blobs&repository_ref=&search=argument+%5C-last&group_id=9970&project_id=278964) - -### Syntax search filters - -The Advanced Search Syntax also supports the use of filters. The available filters are: - -- filename: Filters by filename. You can use the glob (`*`) operator for fuzzy matching. -- path: Filters by path. You can use the glob (`*`) operator for fuzzy matching. -- extension: Filters by extension in the filename. Please write the extension without a leading dot. Exact match only. -- blob: Filters by Git `object ID`. Exact match only. - -To use them, add them to your keyword in the format `<filter_name>:<value>` without -any spaces between the colon (`:`) and the value. When no keyword is provided, an asterisk (`*`) will be used as the keyword. - -Examples: - -- Finding a file with any content named `search_results.rb`: [`* filename:search_results.rb`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=blobs&repository_ref=&search=*+filename%3Asearch_results.rb&group_id=9970&project_id=278964) -- The leading asterisk (`*`) can be ignored in the case above: [`filename:search_results.rb`](https://gitlab.com/search?group_id=9970&project_id=278964&scope=blobs&search=filename%3Asearch_results.rb) -- Finding a file named `found_blob_spec.rb` with the text `CHANGELOG` inside of it: [`CHANGELOG filename:found_blob_spec.rb`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=blobs&repository_ref=&search=CHANGELOG+filename%3Afound_blob_spec.rb&group_id=9970&project_id=278964) -- Finding the text `EpicLinks` inside files with the `.rb` extension: [`EpicLinks extension:rb`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=blobs&repository_ref=&search=EpicLinks+extension%3Arb&group_id=9970&project_id=278964) -- Finding any file with the `.yaml` extension: [`extension:yaml`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=blobs&repository_ref=&search=extension%3Ayaml&group_id=9970&project_id=278964) -- Finding the text `Sidekiq` in a file, when that file is in a path that includes `elastic`: [`Sidekiq path:elastic`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=blobs&repository_ref=&search=Sidekiq+path%3Aelastic&group_id=9970&project_id=278964) -- Finding any file in a path that includes `elasticsearch`: [`path:elasticsearch`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=blobs&repository_ref=&search=path%3Aelasticsearch&group_id=9970&project_id=278964) -- Finding the files represented by the Git object ID `998707b421c89bd9a3063333f9f728ef3e43d101`: [`* blob:998707b421c89bd9a3063333f9f728ef3e43d101`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=false&scope=blobs&repository_ref=&search=*+blob%3A998707b421c89bd9a3063333f9f728ef3e43d101&group_id=9970) -- Syntax filters can be combined for complex filtering. Finding any file starting with `search` containing `eventHub` and with the `.js` extension: [`eventHub filename:search* extension:js`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=blobs&repository_ref=&search=eventHub+filename%3Asearch*+extension%3Ajs&group_id=9970&project_id=278964) - -#### Excluding filters - -[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/31684) in GitLab Starter 13.3. - -Filters can be inverted to **filter out** results from the result set, by prefixing the filter name with a `-` (hyphen) character, such as: - -- `-filename` -- `-path` -- `-extension` -- `-blob` - -Examples: - -- Finding `rails` in all files but `Gemfile.lock`: [`rails -filename:Gemfile.lock`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=blobs&repository_ref=&search=rails+-filename%3AGemfile.lock&group_id=9970&project_id=278964) -- Finding `success` in all files excluding `.po|pot` files: [`success -filename:*.po*`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=blobs&repository_ref=&search=success+-filename%3A*.po*&group_id=9970&project_id=278964) -- Finding `import` excluding minified JavaScript (`.min.js`) files: [`import -extension:min.js`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=blobs&repository_ref=&search=import+-extension%3Amin.js&group_id=9970&project_id=278964) -- Finding `docs` for all files outside the `docs/` folder: [`docs -path:docs/`](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=blobs&repository_ref=&search=docs+-path%3Adocs%2F&group_id=9970&project_id=278964) - -### Search by issue or merge request ID - -You can search a specific issue or merge request by its ID with a special prefix. - -- To search by issue ID, use prefix `#` followed by issue ID. For example, [#23456](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=issues&repository_ref=&search=%2323456&group_id=9970&project_id=278964) -- To search by merge request ID, use prefix `!` followed by merge request ID. For example [!23456](https://gitlab.com/search?utf8=%E2%9C%93&snippets=&scope=merge_requests&repository_ref=&search=%2123456&group_id=9970&project_id=278964) +<!-- This redirect file can be deleted after <2021-02-12>. --> +<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page --> diff --git a/doc/user/search/img/advanced_global_search.png b/doc/user/search/img/advanced_global_search.png Binary files differdeleted file mode 100644 index 4903bbb07e1..00000000000 --- a/doc/user/search/img/advanced_global_search.png +++ /dev/null diff --git a/doc/user/search/img/advanced_search_v13.10.png b/doc/user/search/img/advanced_search_v13.10.png Binary files differnew file mode 100644 index 00000000000..39cd54fea75 --- /dev/null +++ b/doc/user/search/img/advanced_search_v13.10.png diff --git a/doc/user/search/index.md b/doc/user/search/index.md index 79a7827c03b..f327288ea0a 100644 --- a/doc/user/search/index.md +++ b/doc/user/search/index.md @@ -298,13 +298,7 @@ redirected to the commit result and given the option to return to the search res Leverage Elasticsearch for faster, more advanced code search across your entire GitLab instance. -[Learn how to use the Advanced Search.](advanced_global_search.md) - -## Advanced Search Syntax **(PREMIUM)** - -Use advanced queries for more targeted search results. - -[Learn how to use the Advanced Search Syntax.](advanced_search_syntax.md) +[Learn how to use the Advanced Search.](advanced_search.md) ## Search settings |