1. A method comprising: receiving a query; receiving a plurality of items from a plurality of candidate sources; generating an initial set of possible composite search results, each of which is a different composition of items from the plurality of candidate sources; determining a first estimated attribute value and a second estimated attribute value for each possible composite search result in the initial set of possible composite search results; filtering the initial set of possible composite search results based upon whether the first estimated attribute value satisfies a specified threshold value to generate a filtered set; selecting a final composite search result from the filtered set where the second estimated attribute value is greatest; and providing for display at a client the final composite search result as the answer to said query, wherein one of the estimated attribute values is a commercial value and the other estimated attribute value is a user satisfaction value, and wherein the method is performed by one or more computing devices.