1. A search system comprising: a storage unit that stores: a plurality of canonical application structures, each canonical application structure identifying one or more related application editions and storing: a) a set of common attributes relating to all of the related application editions and defining attributes common thereto; and b) for each related application edition, a set of edition attributes relating to the corresponding related application edition and including a value indicating a platform for which the related application edition is configured; and a plurality of search indexes that collectively index the plurality of canonical application structures, each search index indexing canonical application structures having one or more specific common attribute values defined therein and/or one or more edition attribute values defined therein; one or more processors that execute instructions, the instructions causing the one or more processors to: receive a search query and contextual information from a user device, the contextual information including a platform constraint corresponding to the user device; query one or more of the search indexes based on the search query to identify an initial set of application representations; and generate search results based on the initial set of application representations and the context information; and transmit the search results to the user device.