1. An electronic device comprising: a storage that stores: a plurality of application state records, each application state record including i) a function identifier that indicates a state of a respective software application, and ii) application state information indicating content corresponding to data provided by a software application when the software application is set in an application state indicated by the application state record; and a plurality of cluster records, each cluster record indicating a respective cluster of a plurality of clusters, each cluster including a respective clustered function identifier among a plurality of clustered function identifiers, each clustered function identifier indicating the state of the respective software application, the plurality of clusters being clustered according to one or more features; and one or more processors configured to execute computer-readable instructions, the computer-readable instructions, when executed by the one or more processors, causing the one or more processors to: receive a search query containing one or more query terms from a remote device, identify a consideration set of application state records from the plurality of application state records based on the search query, each application state record matching to at least one of the one or more query terms, and for each application state record in the consideration set: identify, based on the search query, one or more cluster records from the plurality of cluster records using the function identifier of the application state record, determine a result score of the application state record included in the consideration set of application state records based on contents of the application state record and one or more cluster records, generate search results based on the application state records in the consideration set and the result scores thereof, and transmit the search results to the remote device.