title: Free text (natural language) query parsing with solr
body: <p>I'm trying to build a query parsing algorithm for a local search site that can classify a free text search query (single input text box) into various type of possible searches possible on the site.</p>
  
  <p>For e.g. the user could type chinese restaurants near xyz. How should I go about breaking it down to Cuisine:"chinese", locality:"xyz" given that</p>
  
  <pre><code>- there could be spelling mistakes
  - keywords may match in different columns e.g. a restaurant may have "chinese" in its name
  </code></pre>
  
  <p>This is not really a natural language parsing problem since we're trying to search in a very limited set of posiibilities</p>
  
  <p>My initial thoughts are to dump all values of a particular type into a field from the database and use the users query to match in all those fields. Then based on the score (and a predifined confidence level) divide the query into the 3-4 search fields like name/cuisine/locality.</p>
  
  <p>Is there a better/standard way of doing this.</p>