1. A method, implemented on a machine having at least one processor, storage, and a communication platform connected to a network, for providing a response to a search query, the method comprising: receiving a search query from a user; retrieving a search result set that comprises a plurality of search results with respect to a plurality of facets of the search query, each of the plurality of search results having a respective ranking; identifying a number of facets to be selected from the plurality of facets based on a probability distribution that a given search result in the search result set is a search result desired by the user for the search query; obtaining a model constructed based on the probability distribution and expected reduction of effort made by the user to reach the search result desired by the user given that the plurality of facets are shown to the user; selecting the number of facets from the plurality of facets, wherein each of the selected number of facets is associated with a maximum incremental value of the expected reduction of effort in accordance with the model; and providing the selected number of facets in response to the search query.