String algorithms. Similarity metrics, phonetics, and beyond.