1. A computer-implemented method, comprising: identifying, by a computer system, a search query including a text string; searching a first data set using a first search index based at least in part on the search query; obtaining first search results including a subset of the first data set; determining a context associated with the search query based at least in part on the first search results; identifying a second search index from among a plurality of indices based at least in part on the context associated with the search query, the plurality of indices created prior to identifying the second search index; searching the first search results using the second search index; obtaining second search results from among the subset of the first data set based at least in part on said searching the first search results using the second search index; ranking at least a part of the second search results with respect to each other based at least in part on a ranking algorithm of the second search index; and modifying the second search index based at least in part on the ranked part of the second search results, wherein the plurality of indices are modified at a rate that is greater than a rate at which the first search index is modified.