A computer-implemented method, comprising: receiving a plurality of content items by a media store database; clustering, based on an analysis of each of the plurality of content items, each of the plurality of content items contained in the media store database to form a plurality of clusters; generating a plurality of canonical documents, wherein each canonical document corresponds to a respective one of the plurality of clusters and contains a respective reference to each of the content items contained in the one cluster represented by the canonical document, the content items contained in the one cluster represented by the canonical document being related versions of content items; receiving a query for one of the plurality of content items; identifying at least one of the plurality of canonical documents in response to the query; in response to the query, presenting a representation of the at least one of the plurality of canonical documents, wherein each of the at least one of the plurality of canonical documents is represented as a single document corresponding to the plurality of related versions of content items contained in the corresponding one of the plurality of clusters; and responding to user selection of the presented representation of the at least one canonical document by presenting respective representations of at least some of the related versions of content items to which the selected canonical document refers, wherein the respective representations of the at least some of the related versions of content items are presented based on the references to the related versions of the content items that are contained in the selected canonical document. receiving a plurality of content items by a media store database; clustering, based on an analysis of each of the plurality of content items, each of the plurality of content items contained in the media store database to form a plurality of clusters; generating a plurality of canonical documents, wherein each canonical document corresponds to a respective one of the plurality of clusters and contains a respective reference to each of the content items contained in the one cluster represented by the canonical document, the content items contained in the one cluster represented by the canonical document being related versions of content items; receiving a query for one of the plurality of content items; identifying at least one of the plurality of canonical documents in response to the query; in response to the query, presenting a representation of the at least one of the plurality of canonical documents, wherein each of the at least one of the plurality of canonical documents is represented as a single document corresponding to the plurality of related versions of content items contained in the corresponding one of the plurality of clusters; and responding to user selection of the presented representation of the at least one canonical document by presenting respective representations of at least some of the related versions of content items to which the selected canonical document refers, wherein the respective representations of the at least some of the related versions of content items are presented based on the references to the related versions of the content items that are contained in the selected canonical document.