Fuzziness is a matching technique that allows for variations in spelling or small differences in the spelling of a search term and the entities returned in the search results.
The length of the word influences the fuzziness percentage. The interval you set depends on your risk-based approach and how confident you are about the accuracy of the names you use for searching. For example, names taken directly from customers' IDs or input by the customers are more prone to errors.
Keep in mind that the impact and use of fuzziness decrease as the length of the name increases. This means that as the search term length increases, a deviation in spelling becomes less important.
For instance, "Jonson" and "Johnson" are far more likely to be misspellings of each other than "Jo" and "John."
Here's the main difference between an exact and fuzzy search:
- Exact Match: This does not allow for extra words to be added. For example, "Harold Smith" will not match with "Harold Gabriel Smith", and only matches exactly what is typed in.
- Fuzziness: can add additional variations of what you've typed. Using the same example as above, typing in "Harold Smith" will return "Harold Gabriel Smith", as well as other versions like "Howard Smith".
Fuzziness is useful because it accounts for variations in spellings of the search term. It accommodates misspellings or uncertainties in the spelling of a search term however, it does provide more results which may be incorrect/unhelpful.
To reduce false positives, our fuzziness algorithm limits the maximum edit distance change to one character, which helps account for spelling errors or variations without returning large numbers of unnecessary false positives, and some areas of our platform (like company search) only use exact matches.