I was asked to write a fuzzy word matching algorithm that would allow for a certain number of typos/misspellings. Turns out there’s a well-known algorithm for that[0]. [0] https://en.m.wikipedia.org/wiki/Levenshtein_distance
Did you brute force your searches to match anything within a levenshtein distance of X?