15. A computer program product encoded on a non-transitory computer readable storage medium comprising instructions that when executed by a computing processor of a search server cause the computing processor to perform operations comprising: storing, at a storage device of the search server, 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 associated with a session ID that indicates a session assigned to the mobile computing device when the mobile computing device transmitted the search query; storing, at the storage device, an application data store that stores application records, wherein each application record stores information regarding an application; storing, at the storage device, a state data store that stores state records, each state record stores information regarding an application state; receiving, via a network communication device of the search server, 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; determining, at the computing processor, a first time at which the search server received the search request with the first search query; determining, by the computing processor, 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; determining, at the computing processor, that a time difference between the first time and the second time is less than a threshold time period; selecting, by the computing processor, an application record from the application data store based on the search terms of the first search query; selecting, by the computing processor, 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; generating, at the computing processor, 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 generating the search result object is based on the determined time difference; and transmitting, via the network communication device, the search result object to the mobile computing device.
15. A computer program product encoded on a non-transitory computer readable storage medium comprising instructions that when executed by a computing processor of a search server cause the computing processor to perform operations comprising: storing, at a storage device of the search server, 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 associated with a session ID that indicates a session assigned to the mobile computing device when the mobile computing device transmitted the search query; storing, at the storage device, an application data store that stores application records, wherein each application record stores information regarding an application; storing, at the storage device, a state data store that stores state records, each state record stores information regarding an application state; receiving, via a network communication device of the search server, 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; determining, at the computing processor, a first time at which the search server received the search request with the first search query; determining, by the computing processor, 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; determining, at the computing processor, that a time difference between the first time and the second time is less than a threshold time period; selecting, by the computing processor, an application record from the application data store based on the search terms of the first search query; selecting, by the computing processor, 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; generating, at the computing processor, 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 generating the search result object is based on the determined time difference; and transmitting, via the network communication device, the search result object to the mobile computing device. 17. The computer program product of claim 15 , 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.