diff options
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 (renamed from doc/user/search/advanced_search_syntax.md) | 77 | ||||
-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 | 23 |
5 files changed, 60 insertions, 110 deletions
diff --git a/doc/user/search/advanced_global_search.md b/doc/user/search/advanced_global_search.md deleted file mode 100644 index 2d1a05cd966..00000000000 --- a/doc/user/search/advanced_global_search.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -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 ---- - -# Advanced Search **(PREMIUM)** - -> - [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. diff --git a/doc/user/search/advanced_search_syntax.md b/doc/user/search/advanced_search.md index 19f7305124e..d11f02addea 100644 --- a/doc/user/search/advanced_search_syntax.md +++ b/doc/user/search/advanced_search.md @@ -5,28 +5,53 @@ info: "To determine the technical writer assigned to the Stage/Group associated type: reference --- -# Advanced Search Syntax **(PREMIUM)** +# GitLab Advanced Search **(PREMIUM)** -> - Introduced in [GitLab](https://about.gitlab.com/pricing/) 9.2. -> - [Moved](../../subscriptions/bronze_starter.md) to GitLab Premium in 13.9. +> - Moved to GitLab Premium in 13.9. -Use advanced queries for more targeted search results. - -This is the user documentation. To install and configure Elasticsearch, +NOTE: +This is the user documentation. To configure the Advanced Search, 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. +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: @@ -40,14 +65,14 @@ here's a quick guide: - 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 +## Syntax search filters -The Advanced Search Syntax also supports the use of filters. The available filters are: +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. +- `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. @@ -64,7 +89,7 @@ Examples: - 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 +### Excluding filters [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/31684) in GitLab Starter 13.3. @@ -82,7 +107,7 @@ Examples: - 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 +## Search by issue or merge request ID You can search a specific issue or merge request by its ID with a special prefix. 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 ffd331248be..f327288ea0a 100644 --- a/doc/user/search/index.md +++ b/doc/user/search/index.md @@ -5,7 +5,7 @@ info: "To determine the technical writer assigned to the Stage/Group associated type: index, reference, howto --- -# Search through GitLab +# Search through GitLab **(FREE)** ## Issues and merge requests @@ -298,34 +298,29 @@ 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) +[Learn how to use the Advanced Search.](advanced_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) - -## Search project settings +## Search settings > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/292941) in GitLab 13.8. +> - [Added to Group, Admin, and User settings](https://gitlab.com/groups/gitlab-org/-/epics/4842) in GitLab 13.9 > - It's [deployed behind a feature flag](../feature_flags.md), disabled by default. > - It's disabled on GitLab.com. > - It's not recommended for production use. -> - To use it in GitLab self-managed instances, ask a GitLab administrator to [enable it](#enable-or-disable-search-project-settings). **(FREE SELF)** +> - To use it in GitLab self-managed instances, ask a GitLab administrator to [enable it](#enable-or-disable-search-settings). **(FREE SELF)** WARNING: This feature might not be available to you. Check the **version history** note above for details. -You can search inside the project’s settings sections by entering a search -term in the search box located at the top of the page. The search results +You can search inside a Project, Group, Admin, or User’s settings by entering +a search term in the search box located at the top of the page. The search results appear highlighted in the sections that match the search term. ![Search project settings](img/project_search_general_settings_v13_8.png) -### Enable or disable Search project settings **(FREE SELF)** +### Enable or disable Search settings **(FREE SELF)** -Search project settings is under development and not ready for production use. It is +Search settings is under development and not ready for production use. It is deployed behind a feature flag that is **disabled by default**. [GitLab administrators with access to the GitLab Rails console](../../administration/feature_flags.md) can enable it. |