1. A method for providing query results in response to a user query, comprising using a computing device to perform steps for: receiving a current user query having multiple search terms; evaluating the current user query to identify one or more subqueries, each subquery comprised of one or more of the search terms of the current user query; evaluating each subquery to select one or more structured data sets from among a plurality of structured data sets from which to retrieve a partial answer corresponding each subquery; for each partial answer retrieved from a selected structured data set, reformulating the current user query to construct a reformulated query by replacing the corresponding subquery of the current user query with the corresponding partial answer; retrieving a set of ranked search results corresponding to reformulated query; and presenting the set of ranked search results on a display device.