1. A computer-implemented method of processing a search request received from a user, the search request directed at identifying a desired item from a set of items, the method comprising: providing access to a set of content items, the content items being associated with metadata that describes corresponding content items; providing information about at least one search previously performed for a user; providing access to information describing relationships between at least one of the content items and the metadata describing the content items; receiving a present input from the user, the present input intended by the user to identify a desired content item; upon a determination that results from the at least one previous search did not satisfy the search request from the user, determining an intent shared by the previous search and the present input based on comparing (i) the information describing the relationships, (ii) the previous search, and (iii) the present input; selecting a subset of content items based on comparing the shared intent and the metadata that describes the content items; and presenting the subset of content items.