the levenshtein fuzzy search algorithm is a string matching algorithm that returns the "edit distance", or the number of edits done to get one string to the other.
the 3 types of edits include:
substitution
insertion
deletion
for example, for the word kitten, and the word sitting, the edit distance would be 3, because:
kitten → sitten (substitution of "s" for "k")
sitten → sittin (substitution of "i" for "e")
sittin → sitting (insertion of "g" at the end)
this is the algorithm behind the approach, using matrices and dynamic programming