Upgrading Contact Search Functionality
Currently, our contact search requires an exact string match to return any results. This is causing two major inefficiencies:
(1) The Double-Space Bug: During our data migration from Brivity, thousands of contacts were synced with a double space between the first and last name (e.g. "Rachel Ambrose") whereas if a user searches "Rachel Ambrose" (single space), the contact not does not show up, and vice versa (see screenshots).
(2) Strict Matching: The system does not recognize common variations or partial names. For example, searching "Ken" will not return "Kenneth" (see screenshots).
Because of this, users must perfectly guess how a contact was formatted to find them, leading to lost time and assumed-missing data.
Proposed Solutions / Technical Requests:
Implement Trimming and Tokenization (Fixes the Space Issue): The search bar should automatically "trim" leading, trailing, and duplicate internal whitespaces from the user's query and the database fields. Alternatively, treating names as separate "tokens" (searching for "Rachel" AND "Ambrose" regardless of how many spaces are between them) would completely resolve the Brivity migration bug.
Enable Partial Matching / "Contains" Logic (Fixes the Nickname/Shortname Issue): Change the search query from an exact match (EQUALS) to a partial match (CONTAINS or LIKE %query%). This ensures that searching "Ken" will successfully surface "Kenneth".
(Optional) Fuzzy Matching or Alias Support: If possible, enabling a basic fuzzy search or allowing the system to map common nicknames (Ken --> Kenneth, Bob --> Robert) would drastically improve the user experience, making it function more like a modern search engine.