33. A method comprising: (a) receiving a search query; (b) determining whether the search query has been previously received; (c) if the search query has not been previously received, (i) receiving a first result set, (ii) storing the first result set in an offline-accessible data store, (iii) indexing the first result set for subsequent retrieval, and (d) if the search query has been previously received, (i) retrieving a previously stored result set associated with the search query, the previously stored result set comprising a plurality of categories each of which comprising one or more articles, wherein each category of the plurality of categories is associated with an article type and contains only articles of that article type, (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, comprising: (1) determining whether an article in one of the plurality of categories has been modified after the previously stored result set was stored in the offline-accessible data store, (2) determining whether a new article of an article type associated with the one of the plurality of categories has come into existence after the previously stored result set was stored in the offline-accessible data store, and (3) responsive to a determination that the article in the one of the plurality of categories has been modified after the previously stored result set was stored in the offline-accessible data store, or a determination that the new article of the article type associated with the one of the plurality of categories has come into existence after the previously stored result set was stored in the offline-accessible data store, determining that the one of the plurality of categories of the previously stored result set associated with the search query is not a valid search result set for the search query, (iii) if the at least one of the plurality of categories of the previously stored result set associated with the search query is determined to be 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, and (iv) if the at least one of the plurality of categories of the previously stored result set associated with the search query is determined not to be a valid search result set for the search query, (1) receiving a second result set, (2) storing the second result set in the offline-accessible data store, and (3) indexing the second result set for subsequent retrieval.
33. A method comprising: (a) receiving a search query; (b) determining whether the search query has been previously received; (c) if the search query has not been previously received, (i) receiving a first result set, (ii) storing the first result set in an offline-accessible data store, (iii) indexing the first result set for subsequent retrieval, and (d) if the search query has been previously received, (i) retrieving a previously stored result set associated with the search query, the previously stored result set comprising a plurality of categories each of which comprising one or more articles, wherein each category of the plurality of categories is associated with an article type and contains only articles of that article type, (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, comprising: (1) determining whether an article in one of the plurality of categories has been modified after the previously stored result set was stored in the offline-accessible data store, (2) determining whether a new article of an article type associated with the one of the plurality of categories has come into existence after the previously stored result set was stored in the offline-accessible data store, and (3) responsive to a determination that the article in the one of the plurality of categories has been modified after the previously stored result set was stored in the offline-accessible data store, or a determination that the new article of the article type associated with the one of the plurality of categories has come into existence after the previously stored result set was stored in the offline-accessible data store, determining that the one of the plurality of categories of the previously stored result set associated with the search query is not a valid search result set for the search query, (iii) if the at least one of the plurality of categories of the previously stored result set associated with the search query is determined to be 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, and (iv) if the at least one of the plurality of categories of the previously stored result set associated with the search query is determined not to be a valid search result set for the search query, (1) receiving a second result set, (2) storing the second result set in the offline-accessible data store, and (3) indexing the second result set for subsequent retrieval. 34. The method of claim 33 , wherein determining whether a search query has been previously received comprises comparing the search query to a list of previously received search queries.