1. A method for indexing items located within a predetermined scope in response to a search query, comprising: receiving the search query; wherein the search query comprises one or more terms; checking an up-to-date status of indexes associated with the search query within the predetermined scope in response to receiving the search query; wherein each of the indexes includes searchable information that is used to locate files that are stored separately from each of the indexes; wherein checking the up-to-date status includes: when a search query is received, determining a portion of the items within the predetermined scope that includes items that were indexed before the search query is received and are unchanged since the items were indexed and determining whether each term within the search query is contained within the index; retrieving partial results that include the portion of the items within the predetermined scope that were previously indexed and unchanged since the last indexing; allocating an item for batch processing when the item has changed since the last indexing; allocating the item for batch processing when the item is not indexed; initiating batched indexing for items allocated for batch processing; and retrieving batch results for batch processes that have completed indexing; wherein the batch results are retrieved in response to receiving the search query.