Just to mention one that's usually quite ignored, I love the simplicity and usefulness of the Levenshtein distance:
<a href="https://xlinux.nist.gov/dads/HTML/Levenshtein.html" rel="nofollow">https://xlinux.nist.gov/dads/HTML/Levenshtein.html</a><p>I once implemented it in typical scenario where sales people had to look for a client, but it could be written as:
1/ That Client With A Strange Name, Ltd.
2/ The Client With Strange Name, Ltd.
3/ That Client With A Strange Name
4/ [etc]<p>It worked really well and avoided lots of duplicated entries.