1. A system comprising: a communication module, implemented using on or more processors, that is configured to receive, over a network from a client machine, a query; a category identification module, implemented using on or more processors, that is configured to identify a first plurality of categories responsive to the query based on prior user interactions after similar queries, the category identification module is further configured to identify a second plurality of categories with, when aggregated, more than a minimum percentage of the prior user interactions; a constraint module, implemented using one or more processors, that is configured to modify the query to include the second plurality of categories as constraints; and a query module, implemented using one or more processors, that is configured to execute the query to identify search results, the query including the second plurality of categories as constraints, the communication module configured to communicate the search results, over the network, to the client machine.