1. A method comprising: (a) receiving a search query; (b) determining whether the search query has been previously received; (c) responsive to a determination that the search query has not been previously received, (i) receiving a new result set associated with the search query, (ii) storing the new result set associated with the search query in an offline-accessible data store, and (iii) outputting the new result set as a search result of the search query; (d) responsive to a determination that the search query has been previously received, (i) retrieving a previously stored result set associated with the search query from the offline-accessible data store, the previously stored result set comprising a plurality of categories each of which comprises one or more articles, (ii) determining whether at least one of the plurality of categories of the previously stored result set associated with the search query is a valid search result set for the search query, and (iii) responsive to a determination that the at least one of the plurality of categories of the previously stored result set associated with the search query is a valid search result set for the search query, outputting the at least one of the plurality of categories of the previously stored result set associated with the search query as a search result of the search query.