1. A method, comprising: receiving, from a client, a first search query; in response to the first search query: generating a first set of search results corresponding to the first search query by searching in a first set of one or more index portions; and generating a query cursor corresponding to the search query, wherein the query cursor indicates a location, in the first set of index portions, of a respective index entry corresponding to a respective result in the first set of search results; sending, to the client, a representation of at least a portion of the first set of search results and the query cursor; receiving, from the client, a second search query including the query cursor; in response to the second search query, generating a second set of search results corresponding to the second search query by searching in a second set of one or more index portions starting at a location in the second set of index portions identified using the query cursor; and sending, to the client, a representation of at least a portion of the second set of results; wherein the first search query is different from the second search query and/or the second set of index portions includes at least one index portion not included in the first set of index portions.