1. A search server comprising: a network communication device; a storage device comprising: a query log that stores search queries that the search server receives, wherein each search query is stored in association with (i) a device identifier (ID) that identifies a mobile computing device that sent the search query and (ii) a time at which the search server received the search query, wherein each search query in the query log is related with a session identifier (ID) that indicates a session assigned to the mobile computing device when the mobile computing device transmitted the search query; and an application data store that stores application records, wherein each application record stores information regarding an application; a state data store that stores state records, wherein each state record stores information regarding an application state; and a memory storing computer-readable instructions; a processing device that executes the computer-readable instructions, wherein, when executed by the processing device, the computer-readable instructions cause the processing device to: receive, via the network communication device, a search request from a mobile computing device, the search request comprising (i) a device ID that identifies the mobile computing device and (ii) a first search query that comprises one or more search terms; determine a first time at which the search server received the search request with the first search query; determine a second search query that the search server previously received from the mobile computing device at a second time, wherein the determining the second search query comprises: determining a first session ID associated with the mobile computing device when the mobile computing device transmitted the first search query; and querying the query log with the device ID and the first session ID; determine that a time difference between the first time and the second time is less than a threshold time period; select an application record from the application data store based on the search terms of the first search query; select a state record that corresponds to an application state of the application associated with the selected application record based on search terms of the second search query; generate a search result object that comprises information from the application record selected based on the first search query, and the state record selected based on the second search query, wherein the generation of the search result object is based on the determined time difference; and transmit the search result object to the mobile computing device.
1. A search server comprising: a network communication device; a storage device comprising: a query log that stores search queries that the search server receives, wherein each search query is stored in association with (i) a device identifier (ID) that identifies a mobile computing device that sent the search query and (ii) a time at which the search server received the search query, wherein each search query in the query log is related with a session identifier (ID) that indicates a session assigned to the mobile computing device when the mobile computing device transmitted the search query; and an application data store that stores application records, wherein each application record stores information regarding an application; a state data store that stores state records, wherein each state record stores information regarding an application state; and a memory storing computer-readable instructions; a processing device that executes the computer-readable instructions, wherein, when executed by the processing device, the computer-readable instructions cause the processing device to: receive, via the network communication device, a search request from a mobile computing device, the search request comprising (i) a device ID that identifies the mobile computing device and (ii) a first search query that comprises one or more search terms; determine a first time at which the search server received the search request with the first search query; determine a second search query that the search server previously received from the mobile computing device at a second time, wherein the determining the second search query comprises: determining a first session ID associated with the mobile computing device when the mobile computing device transmitted the first search query; and querying the query log with the device ID and the first session ID; determine that a time difference between the first time and the second time is less than a threshold time period; select an application record from the application data store based on the search terms of the first search query; select a state record that corresponds to an application state of the application associated with the selected application record based on search terms of the second search query; generate a search result object that comprises information from the application record selected based on the first search query, and the state record selected based on the second search query, wherein the generation of the search result object is based on the determined time difference; and transmit the search result object to the mobile computing device. 3. The search server of claim 1 , wherein each search query in the query log is associated with a device location that indicates the location of the mobile computing device when the mobile computing device transmitted the search query; and wherein determining the second search query comprises: determining a first location of the mobile computing device when the mobile computing device transmitted the first search query; querying the query log with the device ID and the first location; and receiving the second search query from the query log, the second search query being associated with a second location that is within a threshold distance of the first location.