1. A method for providing a plurality of facets in response to a search query, the method comprising: receiving a search query from a user; retrieving a search result set; identifying an optimum number of facets; selecting a plurality of facets with a maximum incremental value; and providing the search result set and the selected facets to a user.