1. A computer program product for performing application search, the computer program product comprising a non-transitory computer-readable storage medium storing instructions that when executed cause at least one processor to perform steps comprising: receiving a search query including one or more search terms from a computing device; querying an entity index with at least one of the one or more search terms to identify one or more entities from a plurality of entities based on the one or more search terms included in the search query, the entity index indexing a plurality of entity records, each entity record respectively corresponding to a known entity and indicating an entity type of the entity; identifying a set of third-party applications based on the one or more search terms included in the search query, wherein each third-party application in the set of third-party applications is identified based on matches between one or more of the search terms and information conveyed in an application record corresponding to the third-party application; for each third-party application in the set of third party applications: determining a number of entities supported by the third-party application based on the respective entity types of the identified entities and a list of supported entity types in the application record of the third-party application; determining an entity match value of the third-party application with respect to the search query based on the number of entities supported by the third-party application; determining a result score of the third-party application based in part on the entity match value of the third party application; ranking the identified set of third-party applications based at least in part on the result scores thereof; generating search results based on the ranked set of third-party applications; and providing the search results to the computing device.