title: Skill matching algorithm
body: <p>I need to implement a skill matching feature similar to <a href="http://venturocket.com" rel="nofollow">http://venturocket.com</a> - a candidate enters a list of skills and rates his proficiency for each. You can then search by again entering some skills and the level of expertise you are looking for. The result is a list of candidates ordered by how well their skills match your search.</p>
  
  <p>Example:</p>
  
  <p>Candidate 1 enters skill Java (proficiency 90) and candidate 2 enters Java (50). When I search for Java (60) candidate 2 is a closer match.</p>
  
  <p>This shold also work with multiple skills.</p>
  
  <p>What I'm looking for are pointers to technologies or algorithms that would help me achieve this. My current approach would be to do a range query in a database (e.g. look for Java skills between 45 and 75) and then sort on the client, but that wouldn't be very fast.</p>