title: Compare similarity algorithms
body: <p>I want to use string similarity functions to find corrupted data in my database.</p>
  
  <p>I came upon several of them: </p>
  
  <ul>
  <li>Jaro, </li>
  <li>Jaro-Winkler, </li>
  <li>Levenshtein, </li>
  <li>Euclidean and </li>
  <li>Q-gram,</li>
  </ul>
  
  <p>I wanted to know what is the difference between them and in what situations they work best?</p>