1. A method comprising: receiving a query at a computing device through a network, wherein the query comprises one or more terms; identifying one or more attribute values that are preferences for a subset of the one or more terms by the computing device; identifying one or more products having associated attribute values that match a subset of the identified one or more attribute values by the computing device; and presenting a subset of the one or more identified products by the computing device through the network.