title: Implement smart search / Fuzzy string comparison
body: <p>I have a web page on an ASP.NET MVC application where customers search for suppliers. The suppliers capture their own details on the website. The client wants a &quot;smart search&quot; feature, where they could search for suppliers and find them even if the supplier spelling is &quot;slightly different&quot; to what is typed in the search box.</p>
  <p>I have no idea what the client's notion of &quot;slightly different&quot; is. I've been looking into implementing a custom soundex algorithm. This converts a word into a number based on how it sounds. That number is then used for comparison.</p>
  <p>For example:</p>
  <blockquote>
  <p>Zach</p>
  <p>Zack</p>
  </blockquote>
  <p>will encode to the same value. Are there any other options I could possible look into?</p>