13. A computer program product encoded on a non-transitory computer readable storage medium comprising instructions that when executed by a processing device of a search server cause the processing device 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, each search query is stored in association with a device identifier (ID) that identifies a mobile computing device that sent the search query, and a time at which the search server received the search query; storing, at the storage device, an application data store that stores application records, 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 a device ID that identifies the mobile computing device and a first search query that comprises one or more search terms; determining, at the processing device, a first time at which the search server received the search request with the first search query; determining, by the processing device, a second search query that the search server previously received from the mobile computing device at a second time; determining, at the processing device, that a time difference between the first time and the second time is less than a threshold time period; selecting, by the processing device, an application record from the application data store based on the search terms of the first search query; selecting, by the processing device, a state record that corresponds with an application state of the application associated with the selected application record based on search terms of the second search query; generating, at the processing device, 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; and transmitting, via the network communication device, the search result object to the mobile computing device, wherein determining the second search query comprises: retrieving the device ID from the search request; querying the query log with the device ID, and a time range that extends for the threshold time period prior to the first time; and receiving the second search query from the query log, the second search query being received at the search server within the time range.
13. A computer program product encoded on a non-transitory computer readable storage medium comprising instructions that when executed by a processing device of a search server cause the processing device 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, each search query is stored in association with a device identifier (ID) that identifies a mobile computing device that sent the search query, and a time at which the search server received the search query; storing, at the storage device, an application data store that stores application records, 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 a device ID that identifies the mobile computing device and a first search query that comprises one or more search terms; determining, at the processing device, a first time at which the search server received the search request with the first search query; determining, by the processing device, a second search query that the search server previously received from the mobile computing device at a second time; determining, at the processing device, that a time difference between the first time and the second time is less than a threshold time period; selecting, by the processing device, an application record from the application data store based on the search terms of the first search query; selecting, by the processing device, a state record that corresponds with an application state of the application associated with the selected application record based on search terms of the second search query; generating, at the processing device, 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; and transmitting, via the network communication device, the search result object to the mobile computing device, wherein determining the second search query comprises: retrieving the device ID from the search request; querying the query log with the device ID, and a time range that extends for the threshold time period prior to the first time; and receiving the second search query from the query log, the second search query being received at the search server within the time range. 15. The computer program product of claim 13 , wherein each search query in the query log is associated with a session ID that indicates the session assigned to the mobile computing device when the mobile computing device transmitted the search query; and wherein 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; querying the query log with the device ID and the first session ID; and receiving the second search query from the query log, the second search query being associated with a second session ID that is equal to the first session ID.