Split each search scope into its own Index
## Problem
Today we use a single index for all data types. There are many problems with this described in https://gitlab.com/gitlab-org/gitlab/-/issues/3217 but a major motivating factor for moving to indices for each data type is performance. Based on https://gitlab.com/gitlab-org/gitlab/-/issues/3217#note_399228783 we can reduce the total response time of searches for issues by `54%` if those issues are in a dedicated index rather than the combined index with all the other data types.
## Solution
Move Each Scope to a dedicated index. This will have several challenges that we need to overcome and may require several MRs to accomplish.
## Proposal (issues will be opened for each)
These should be done in order unless otherwise noted for each scope
1. Remove joins from the Elasticsearch query for project/group scoped search
1. De-normalize the permission data. <-- will include migration and can be done in multiple MRs
1. Remove joins from the Elasticsearch query for globally scoped search
1. Migration to copy data to new index
1. Migration to remove data from combined index **
** must be released in conjunction with the `Migration to copy data to new index`
epic