Searching for Groups and Projects by name should list perfect and near-perfect matches first

What is the productivity problem to solve?

Finding a gitlab project or group is very hard even if you know the exact name. As an example, search for the project 'gitlab' in this very gitlab-instance: Projects -> Explore projects -> Enter "gitlab" in the "Filter by name..." field and ensure Sort by Name is selected.

You will get a long list of matches that all seem to use the term "gitlab" somewhere in their repository, but not necessarily in their name. E.g. why is https://gitlab.com/winniehell/lgtm the second match right now?

And nowhere will you see this repository gitlab-org/gitlab.

See this example: image

Even searching for the term 'gitlab' only within the 'gitlab-org' group won't help, see for yourself at https://gitlab.com/gitlab-org?utf8=%E2%9C%93&filter=gitlab

Problem identification checklist

  • The root cause of the problem is identified.
  • The surface of the problem is as small as possible.

What are the potential solutions?

  • Sort the list of groups/projects such that exact name matches come first and similar name matches* come second. Only then add other matches.

Note that there may be multiple exact matches, so other sort criteria may apply, too. The higher the match in the tree (of nested groups), the higher should it be listed in the results. I.e. when searching for a group "gitlab-org" you should get the toplevel group "gitlab-org" before the nested "some/other/gitlab-org" group.

  • All potential solutions are listed.
  • A solution has been chosen for the first iteration: PUT THE CHOSEN SOLUTION HERE

Who and when will the solution be implemented?

Verify that the solution has improved the situation

  • The solution improved the situation.
    • If yes, check this box and close the issue. Well done! 🎉
    • Otherwise, create a new "Productivity Improvement" issue. You can re-use the description from this issue, but obviously another solution should be chosen this time.
Edited Sep 21, 2022 by Lin Jen-Shin
Assignee Loading
Time tracking Loading