Commit 4bbbb08f authored by Marcia Ramos's avatar Marcia Ramos Committed by Achilleas Pipinellis

Docs: Global Search - update admin menu

parent 32c625d1
...@@ -53,7 +53,7 @@ graph TD; ...@@ -53,7 +53,7 @@ graph TD;
B5 --> |No| B7 B5 --> |No| B7
B7 --> B8 B7 --> B8
B{Is GitLab using<br>Elasticsearch for<br>searching?} B{Is GitLab using<br>Elasticsearch for<br>searching?}
B1[Check Admin Area > Integrations<br>to ensure the settings are correct] B1[Select **Menu >** **{admin}** **Admin > Integrations**<br>to ensure the settings are correct]
B2[Perform a search via<br>the rails console] B2[Perform a search via<br>the rails console]
B3[If all settings are correct<br>and it still doesn't show Elasticsearch<br>doing the searches, escalate<br>to GitLab support.] B3[If all settings are correct<br>and it still doesn't show Elasticsearch<br>doing the searches, escalate<br>to GitLab support.]
B4[Perform<br>the same search via the<br>Elasticsearch API] B4[Perform<br>the same search via the<br>Elasticsearch API]
...@@ -196,7 +196,7 @@ Troubleshooting search result issues is rather straight forward on Elasticsearch ...@@ -196,7 +196,7 @@ Troubleshooting search result issues is rather straight forward on Elasticsearch
The first step is to confirm GitLab is using Elasticsearch for the search function. The first step is to confirm GitLab is using Elasticsearch for the search function.
To do this: To do this:
1. Confirm the integration is enabled in **Admin Area > Settings > General**. 1. Confirm the integration is enabled by selecting **Menu >** **{admin}** **Admin** > Settings > General**.
1. Confirm searches use Elasticsearch by accessing the rails console 1. Confirm searches use Elasticsearch by accessing the rails console
(`sudo gitlab-rails console`) and running the following commands: (`sudo gitlab-rails console`) and running the following commands:
......
...@@ -186,7 +186,8 @@ instances](#indexing-large-instances) below. ...@@ -186,7 +186,8 @@ instances](#indexing-large-instances) below.
To enable Advanced Search, you need to have admin access to GitLab: To enable Advanced Search, you need to have admin access to GitLab:
1. Navigate to **Admin Area**, then **Settings > Advanced Search**. 1. On the top bar, select **Menu >** **{admin}** **Admin**.
1. On the left sidebar, select **Settings > Advanced Search**.
NOTE: NOTE:
To see the Advanced Search section, you need an active GitLab Premium To see the Advanced Search section, you need an active GitLab Premium
...@@ -195,11 +196,10 @@ To enable Advanced Search, you need to have admin access to GitLab: ...@@ -195,11 +196,10 @@ To enable Advanced Search, you need to have admin access to GitLab:
1. Configure the [Advanced Search settings](#advanced-search-configuration) for 1. Configure the [Advanced Search settings](#advanced-search-configuration) for
your Elasticsearch cluster. Do not enable **Search with Elasticsearch enabled** your Elasticsearch cluster. Do not enable **Search with Elasticsearch enabled**
yet. yet.
1. Now enable **Elasticsearch indexing** in **Admin Area > Settings > 1. Enable **Elasticsearch indexing** and select **Save changes**. This creates
Advanced Search** and click **Save changes**. This will create
an empty index if one does not already exist. an empty index if one does not already exist.
1. Click **Index all projects**. 1. Select **Index all projects**.
1. Click **Check progress** in the confirmation message to see the status of 1. Select **Check progress** in the confirmation message to see the status of
the background jobs. the background jobs.
1. Personal snippets need to be indexed using another Rake task: 1. Personal snippets need to be indexed using another Rake task:
...@@ -211,9 +211,7 @@ To enable Advanced Search, you need to have admin access to GitLab: ...@@ -211,9 +211,7 @@ To enable Advanced Search, you need to have admin access to GitLab:
bundle exec rake gitlab:elastic:index_snippets RAILS_ENV=production bundle exec rake gitlab:elastic:index_snippets RAILS_ENV=production
``` ```
1. After the indexing has completed, enable **Search with Elasticsearch enabled** in 1. After the indexing has completed, enable **Search with Elasticsearch enabled** and select **Save changes**.
**Admin Area > Settings > Advanced Search** and click **Save
changes**.
NOTE: NOTE:
When your Elasticsearch cluster is down while Elasticsearch is enabled, When your Elasticsearch cluster is down while Elasticsearch is enabled,
...@@ -283,7 +281,8 @@ You can improve the language support for Chinese and Japanese languages by utili ...@@ -283,7 +281,8 @@ You can improve the language support for Chinese and Japanese languages by utili
To enable language(s) support: To enable language(s) support:
1. Install the desired plugin(s), please refer to [Elasticsearch documentation](https://www.elastic.co/guide/en/elasticsearch/plugins/7.9/installation.html) for plugins installation instructions. The plugin(s) must be installed on every node in the cluster, and each node must be restarted after installation. For a list of plugins, see the table later in this section. 1. Install the desired plugin(s), please refer to [Elasticsearch documentation](https://www.elastic.co/guide/en/elasticsearch/plugins/7.9/installation.html) for plugins installation instructions. The plugin(s) must be installed on every node in the cluster, and each node must be restarted after installation. For a list of plugins, see the table later in this section.
1. Navigate to the **Admin Area**, then **Settings > Advanced Search**.. 1. On the top bar, select **Menu >** **{admin}** **Admin**.
1. On the left sidebar, select **Settings > Advanced Search**.
1. Locate **Custom analyzers: language support**. 1. Locate **Custom analyzers: language support**.
1. Enable plugin(s) support for **Indexing**. 1. Enable plugin(s) support for **Indexing**.
1. Click **Save changes** for the changes to take effect. 1. Click **Save changes** for the changes to take effect.
...@@ -303,7 +302,8 @@ For guidance on what to install, see the following Elasticsearch language plugin ...@@ -303,7 +302,8 @@ For guidance on what to install, see the following Elasticsearch language plugin
To disable the Elasticsearch integration: To disable the Elasticsearch integration:
1. Navigate to the **Admin Area**, then **Settings > Advanced Search**. 1. On the top bar, select **Menu >** **{admin}** **Admin**.
1. On the left sidebar, select **Settings > Advanced Search**.
1. Uncheck **Elasticsearch indexing** and **Search with Elasticsearch enabled**. 1. Uncheck **Elasticsearch indexing** and **Search with Elasticsearch enabled**.
1. Click **Save changes** for the changes to take effect. 1. Click **Save changes** for the changes to take effect.
1. (Optional) Delete the existing indexes: 1. (Optional) Delete the existing indexes:
...@@ -334,7 +334,9 @@ index alias to it which becomes the new `primary` index. At the end, we resume t ...@@ -334,7 +334,9 @@ index alias to it which becomes the new `primary` index. At the end, we resume t
To trigger the reindexing process: To trigger the reindexing process:
1. Sign in to your GitLab instance as an administrator. 1. Sign in to your GitLab instance as an administrator.
1. Go to **Admin Area > Settings > Advanced Search > Elasticsearch zero-downtime reindexing**. 1. On the top bar, select **Menu >** **{admin}** **Admin**.
1. On the left sidebar, select **Settings > Advanced Search**.
1. Expand **Elasticsearch zero-downtime reindexing**.
1. Select **Trigger cluster reindexing**. 1. Select **Trigger cluster reindexing**.
Reindexing can be a lengthy process depending on the size of your Elasticsearch cluster. Reindexing can be a lengthy process depending on the size of your Elasticsearch cluster.
...@@ -349,7 +351,10 @@ While the reindexing is running, you will be able to follow its progress under t ...@@ -349,7 +351,10 @@ While the reindexing is running, you will be able to follow its progress under t
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/55681) in GitLab 13.12. > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/55681) in GitLab 13.12.
The following reindex settings are available in **Admin Area > Settings > Advanced Search > Elasticsearch zero-downtime reindexing**: 1. On the top bar, select **Menu >** **{admin}** **Admin**.
1. On the left sidebar, select **Settings > Advanced Search**.
1. Expand **Elasticsearch zero-downtime reindexing**, and you'll
find the following options:
- [Slice multiplier](#slice-multiplier) - [Slice multiplier](#slice-multiplier)
- [Maximum running slices](#maximum-running-slices) - [Maximum running slices](#maximum-running-slices)
...@@ -394,7 +399,10 @@ Sometimes, you might want to abandon the unfinished reindex job and resume the i ...@@ -394,7 +399,10 @@ Sometimes, you might want to abandon the unfinished reindex job and resume the i
bundle exec rake gitlab:elastic:mark_reindex_failed RAILS_ENV=production bundle exec rake gitlab:elastic:mark_reindex_failed RAILS_ENV=production
``` ```
1. Uncheck the "Pause Elasticsearch indexing" checkbox in **Admin Area > Settings > Advanced Search**. 1. On the top bar, select **Menu >** **{admin}** **Admin**.
1. On the left sidebar, select **Settings > Advanced Search**.
1. Expand **Elasticsearch zero-downtime reindexing**.
1. Clear the **Pause Elasticsearch indexing** checkbox.
## Advanced Search migrations ## Advanced Search migrations
...@@ -545,7 +553,7 @@ For basic guidance on choosing a cluster configuration you may refer to [Elastic ...@@ -545,7 +553,7 @@ For basic guidance on choosing a cluster configuration you may refer to [Elastic
- A good guideline is to ensure you keep the number of shards per node below 20 per GB heap it has configured. A node with a 30GB heap should therefore have a maximum of 600 shards, but the further below this limit you can keep it the better. This will generally help the cluster stay in good health. - A good guideline is to ensure you keep the number of shards per node below 20 per GB heap it has configured. A node with a 30GB heap should therefore have a maximum of 600 shards, but the further below this limit you can keep it the better. This will generally help the cluster stay in good health.
- Number of Elasticsearch shards: - Number of Elasticsearch shards:
- Small shards result in small segments, which increases overhead. Aim to keep the average shard size between at least a few GB and a few tens of GB. - Small shards result in small segments, which increases overhead. Aim to keep the average shard size between at least a few GB and a few tens of GB.
- Another consideration is the number of documents. To determine the number of shards to use, sum the numbers in the **Admin Area > Dashboard > Statistics** pane (the number of documents to be indexed), divide by 5 million, and add 5. For example: - Another consideration is the number of documents. To determine the number of shards to use, sum the numbers in the **Menu >** **{admin}** **Admin > Dashboard > Statistics** pane (the number of documents to be indexed), divide by 5 million, and add 5. For example:
- If you have fewer than about 2,000,000 documents, use the default of 5 shards - If you have fewer than about 2,000,000 documents, use the default of 5 shards
- 10,000,000 documents: `10000000/5000000 + 5` = 7 shards - 10,000,000 documents: `10000000/5000000 + 5` = 7 shards
- 100,000,000 documents: `100000000/5000000 + 5` = 25 shards - 100,000,000 documents: `100000000/5000000 + 5` = 25 shards
...@@ -622,7 +630,7 @@ Sidekiq processes](../administration/operations/extra_sidekiq_processes.md). ...@@ -622,7 +630,7 @@ Sidekiq processes](../administration/operations/extra_sidekiq_processes.md).
``` ```
This enqueues a Sidekiq job for each project that needs to be indexed. This enqueues a Sidekiq job for each project that needs to be indexed.
You can view the jobs in **Admin Area > Monitoring > Background Jobs > Queues Tab** You can view the jobs in **Menu >** **{admin}** **Admin > Monitoring > Background Jobs > Queues Tab**
and click `elastic_commit_indexer`, or you can query indexing status using a Rake task: and click `elastic_commit_indexer`, or you can query indexing status using a Rake task:
```shell ```shell
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment