Page MenuHomePhabricator

Implement more robust search for auto-complete
Open, Needs TriagePublic

Description

T232601 implemented the fundamental components that make in-surface autocomplete [for @ mentioning] possible.

This task is about enhancing the search that powers the username completion list [1] to help people more quickly and easily find the person they are wanting to notify.

Search approaches

I. Substring search

  • Typing @er would return "peter" and "eran"

II. Word-separated prefix search

  • Typing @pel would return "peter pelberg", but not "opel"
    • Notes:
      • Results shown in the username completion list would be limited to those that contain "pel" at the start of the word.
      • Phabricator & Twitter use the word-separated prefix search approach. Meaning: your username and real name are "valid" search inputs such that ppelberg (peter pelberg) could be found with @pp, @pet, or @pel.

III. Substring + prefix search hybrid

  • Typing es would return "esanders" first, then "james"

IV. Separated letters search

  • Typing pr would return “peter” and “prester”
    • Note: this is used on GitHub, but only against a limited set of local results (people who are active on that project).

Open questions

  • Which of the above "Search approaches" should we implement?

Done

  • All "Open questions" are answered
  • We have implemented the search behavior described in the "Search approaches" section above

  1. Username completion list: this list contains the usernames people can select to ping.

Event Timeline