1. A computer-implemented process for operating a search system, comprising: receiving a database comprising a plurality of items; for each item, automatically mining a plurality of websites to retrieve a plurality of instances of unstructured user entered textual descriptions corresponding to each item; for each item, extracting a plurality of candidate attribute values from the corresponding user entered textual descriptions; ranking the candidate attribute values according to how selection of each candidate attribute value will reduce a size of a search result set; wherein ranking the candidate attribute values further comprises computing a degree of discrimination for each of a plurality of attribute values, the degree of discrimination for each attribute value corresponding to the number of items that would be excluded from the search result set when the search result set is limited to items having the corresponding attribute value; for each item, generating a reduced set of candidate attribute values by applying a classifier to filter out one or more ranked candidate attribute values that are unlikely to reduce the size of the search result set by determining, for each candidate attribute value, whether an answer to a question formulated from each candidate attribute value is likely to reduce the size of the search result set; in response to a search query, returning a query result set comprising a subset of items from the database; applying a top ranked one of the reduced set of candidate attribute values corresponding to the items of the query result set to automatically formulate and present a question relating to the top ranked candidate attribute value such that any response to that question will reduce a size of the query result set returned in response to the search query; and wherein the presented question is a request for a value of an attribute.
4. The computer-implemented process of claim 1 , further comprising updating the query result set based on a response to the presented question.