This strategy is a work in progress, and everyone can contribute:
GitLab currently supports Advanced Global Search for Self-Managed instances. This provides users with a faster and more complete search across the GitLab instance and within the code. Unfortunately, we haven't been able to bring these features to GitLab.com users. Our goal is to bring this search experience to more users of GitLab.com as we continue to expand our usage inside of our organization and beyond.
One of the primary benefits of continuing to expand our Advanced Global Search to Gitlab.com is the ability to provide cross project code search to users of GitLab.com. By enabling cross project searching users will be better equipped to discover solutions in other parts of their own organization that might be solving or thinking about the same things they are.
We've also written a blog post on the lessons from our journey as we continue to work towards enabling Elasticsearch on GitLab.com. A follow up post was written on some things as we've continued to learn and enable things for GitLab.com.
Advanced Global Search is targeted at all personas who might use GitLab. However, the largest benefits come to users performing cross-project code search looking for innersourcing opportunities or exploring the breadth of public projects across GitLab.com.
Scaling a service as large as Elasticsearch across all of GitLab.com is a complex problem. On top of the infrastructure challenge to address with this, there are also scaling issues associated with how the index is kept up to date.
Currently, GitLab's maturity for Search is viable. Here's why:
A complete Advanced Global Search feature brings this experience to all users of GitLab.com. Search is a fundamentally important feature in a users experience across GitLab and all users should have the benefits for this to be considered complete. This also brings a secure and scalable feature to match the needs of GitLab.com.
In Progress: Enable Elasticsearch for Paid Groups on GitLab.com - Now that Elasticsearch has been enabled for the
gitlab-com groups on GitLab.com we're focusing on how to continue enabling Elasticsearch for Paid groups on GitLab.com. This is an important next step in expanding the scale of our Elasticsearch deployment and further support our dogfooding principles.
Next: Elasticsearch admin controls - Previously work on this effort began to bring additional administration controls and functionality to GitLab. While efforts have been re-prioritized to continue testing Elasticsearch with new groups, improvements to the Administration of Elasticsearch will need to happen to help support additional scaling efforts.
Future: Get Elasticsearch working on GitLab.com - Once we've enabled Elasticsearch for Paid Groups on GitLab.com we'll continue to explore bringing these features to the rest of GitLab.com. Making code search work is an important feature and we understand the need and value this will provide.
Currently there is not a plan to scale beyond the needs of Paid Groups on GitLab.com. This means that while the ambition of the Search Group is to expand Advanced Global Search to all users of GitLab, we're not yet ready to move in that direction.
The search group is also not focused on expanding the use of Elasticsearch to other search areas beyond Global Search. While areas like Issue and Epic search could benefit from some of the features available, those areas are not in scope at this time.
Both GitHub and BitBucket provide a more comprehensive and complete search for users; particularly in their ability to deeply search code and surface those results to users. While GitLab's Advanced Global Search is available to self-managed users it hasn't reached all users across GitLab.com.