title: Finding similar products by attributes
body: <p>I've heard about K nearest neighbor to find a category that an item belongs to but I was wondering if there was an algorithm that will return a list of items based on attributes.</p>
  
  <p>For example given a movie</p>
  
  <pre><code>[director: "Hill Thompson", starring-actor: "Will Smith", release-date: "Dec 1776"]
  </code></pre>
  
  <p>The results will return </p>
  
  <pre><code>[director: "Hill Thompson", starring-actor: "Will Smith", release-date: "Jan 1996"]
  </code></pre>
  
  <p>instead of </p>
  
  <pre><code>[director: "Hill Thompson", starring-actor: "Poop Jenkins", release-date: "Sept 1822"]
  </code></pre>
  
  <p>Because the former result matches more attributes "Hill Thompson" and "Will Smith" whereas the former only has one match - Hill Thompson.</p>
  
  <p>Would Cosine Similarity be a good method to solve this problem?</p>