Users make typos. Search should still work:
Edit distance: Number of single-character edits to transform one string to another. "cat" → "car" has distance .
Levenshtein distance: Insertions, deletions, substitutions. Most common algorithm.
Implementation: Build variants of query with edit distance -. Match against index. Computationally expensive.
Phonetic matching: Soundex, Metaphone. "Steven" matches "Stephen". Good for names.
Trade-offs: Fuzzy matching expands result set. Can return unexpected matches. Usually limit to edit distance .