The following page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features or functionality remain at the sole discretion of GitLab Inc.
|Content Last Reviewed||
This strategy evolves, and everyone can contribute:
Global Search is the core search feature for GitLab, as the one place to search for anything in the platform. “Global” refers to the ability to search at the project, group, or instance level, as well as across content types. Users can search issues, merge requests, commits, epics, code, projects, wikis, comments, and users.
There are two modes Global Search can operate in, depending on the instance configuration:
The most frequent content type searched is code, at over 40% of queries.
A modern search user interface that will allow users to navigate through their search to filter down to what they are looking for. Offering comprehensive filter options will allow users to search with vague context, decide what applies to what they are looking for, and filter out everything else. Making these filters dynamic based on the information returned from the initial query will encourage users to explore the information in GitLab easier.
Advanced Search uses Elasticsearch to index and search GitLab. Elasticsearch is an open-source search engine that has a wide range of uses that go far beyond traditional keyword-based searching. Having this information available in a very quick index may make integrations with SAST and DAST more flexible. There are also opportunities to connect to code intelligence and enhance context used in code when searching.
Global Search should be used frequently by every user that uses GitLab. It should be created in a way that allows users to build their own process and become the core of an internal way to communicate and share contributions.
The Elasticsearch Integration should become the primary piece to the GitLab product and serve out every list page allowing for more interactive features and keyword search.
We should have a tight connection with the community and customers to provide shared details, and encourage contributions.
We look at unique users per month, GMAU. Our goal is to grow this 10% each month.
GitLab currently supports Advanced Search for Starter and above self-managed instances. This provides users with a faster and more complete search experience across GitLab. GitLab.com similarly offers Advanced Search for Bronze and above.
We chronicled our journey of deploying Elasticsearch for GitLab.com through several blog posts.
Advanced Search is targeted at all personas who might use GitLab. However, the largest benefits come to users performing cross-project code search looking for inner sourcing opportunities or exploring the breadth of public projects across GitLab.com.
GitLab is growing and the path to delivering a world-class Git Repo search is evolving quickly. Enterprise Edition Self-Managed customers need to provide their own install of Elasticsearch to connect to GitLab. We will need to be very creative about how to advance Community Edition and GitLab.com Free. Contributions are welcome!
Currently, GitLab's maturity for Search is viable. Here's why:
GitLab's current Advanced Search experience works for some self-managed instances and the experience of getting started has continued to improve. The UI lacks some basic search capabilities. Using the search generally requires the user to be very exact in what they are looking for. It offers little capability to explore what is in a repo. We have Added Several of these in the past few months and expect to close the gap this year.
We have added a live roadmap that will track the progress as we complete major epics. Global Search Roadmap
In Progress: UX Search Enhancements for Advanced Search Our old user interface was designed to provide a minimal amount of complexity as we focused on building and scaling the backend components. We have started adding more rich features that are available with Elasticsearch. I expect that once we have these features available we will do another search UX design that better utilizes these features with a more complete User Flow. Our customers have told us that having a single tab for all results with filtering to specific scopes would be a better approach to help find content types across the repo. We are also going to start using horizontal space better by adding filtering to the left-hand side of the search page. This will allow us to expand the results list as well as move more results above the fold.
Next: Advanced Search Ranking We have been using very little customizations to Ranking. Improving this will be key to the making finding information in GitLab less intensive. We are also going to make indexing more efficient an improve the performance of Elasticsearch.
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 Search to all users of GitLab, we're not yet ready to move in that direction. We will continue to add features to Basic search as we can while evolving Advanced Search.
As GitLab continues to grow it will become important to keep growing with GitLab. One of these areas that Global search will have impact is in adding new content types. Currently, this includes adding Vulnerabilities, and Snippets.
We will also be Allow be planning to offer deeper integration across other list pages in Gitlab. Lucene based indexing allows for very fast return of structured lists there are several pages in GitLab that offer these list and it’s a continual improvement to improve the speed.
Increase the number of Self-Managed users, using Advanced Search. We are considering how to enable Advanced Search by default. We have already made Advanced Search part of SaaS for all paid users.
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 Search is available to self-managed users.
There is a great need to improve the ability to search across repos for all competitors. This is commonly asked about from our prospective customers and is included in the comparison matrix for GitLab as well as the ROI calculator.