Improve the sorting and search experience for the project and group dropdowns in global search
Problem so solve
The current experience when searching within the group and project dropdown is problematic, as users are often unable to find the selection they need. Some of the common issues with this experience are:
- The parent group that matches the search doesn’t show or isn’t high enough in the list
- There are multiple results within the listing where the title of the group/project does not match the search, but instead the parent group/path does (which makes it show up)
- The result the user is looking for doesn’t show because we only show the first 20 matching results
Proposal
-
Exact matches should show first in options list (project example: "gitlab" search -> GitLab
should show beforecustomers-gitlab-com
). -
Top level groups should be shown before subgroups when both match the search term -
Search results should only take into account the actual group/project name and not the parent group/path. (today you will get results when the parent group/path matches the search as well) -
Sort based on algorithmic score (TBD), with alpha-numeric for like scores -
If we are limiting the amount of results shown initially, allow for lazy loading on scroll -
Modify the layout of the options so the title is more prominent, with the path as secondary information (see design below). #331433 (closed) -
Provide list of recently viewed / searched when clicking into group or project dropdown (#239384 (closed) )
Since we rely on the GitLab Groups and Projects API to populate these listings, this will probably require updates to the API to perform some of the enhancements above. By making these adjustments at the API level, this will also allow for updating other components across GitLab to also leverage these benefits.
This 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.