4. A system for processing documents, comprising: one or more processors for executing instructions; a repository configured for storing multiple documents within an accessible range of the repository; and memory storing one or more modules to be executed by the one or more processors, the modules including instructions: to store a first version of a document within an accessible range of the repository, the accessible range comprising a range of positions in the repository and having first and second ends, wherein documents stored in the accessible range are accessible by a plurality of threads; to receive a second version of the document; to store the second version of the document in the repository outside of the accessible range; to modify the second end of the accessible range of the repository to include the second version previously stored outside of the accessible range of the repository, wherein after the modifying both the first version of the document and second version of the document are accessible by the plurality of threads; to invalidate but not delete the first version of the document, wherein the invalidated first version of the document continues to remain accessible to those of the executing queries that began execution prior to the invalidating and that utilize the first version of the document, while those of the executing queries that begin execution after the invalidating of the first version of the document cannot access the invalidated first version of the document; to execute queries against the repository in the plurality of threads, including instructions to continuing to execute queries without interruption during said operations of receiving the second version of the document, storing the second version of the document in the repository, modifying the second end of the accessible range of the repository, and invalidating the first version of the document; to delete the invalidated first version of the document when it is no longer referenced by any active threads; to store a plurality of index records in an index, each record associated with a unique term in the first or second versions of the document, and having an associated accessible range of entries specifying repository locations of the associated term; and in conjunction with modifying the accessible range of the repository to include the second version, to modify the accessible range of a plurality of the index records to include entries corresponding to both the first version and second version.
4. A system for processing documents, comprising: one or more processors for executing instructions; a repository configured for storing multiple documents within an accessible range of the repository; and memory storing one or more modules to be executed by the one or more processors, the modules including instructions: to store a first version of a document within an accessible range of the repository, the accessible range comprising a range of positions in the repository and having first and second ends, wherein documents stored in the accessible range are accessible by a plurality of threads; to receive a second version of the document; to store the second version of the document in the repository outside of the accessible range; to modify the second end of the accessible range of the repository to include the second version previously stored outside of the accessible range of the repository, wherein after the modifying both the first version of the document and second version of the document are accessible by the plurality of threads; to invalidate but not delete the first version of the document, wherein the invalidated first version of the document continues to remain accessible to those of the executing queries that began execution prior to the invalidating and that utilize the first version of the document, while those of the executing queries that begin execution after the invalidating of the first version of the document cannot access the invalidated first version of the document; to execute queries against the repository in the plurality of threads, including instructions to continuing to execute queries without interruption during said operations of receiving the second version of the document, storing the second version of the document in the repository, modifying the second end of the accessible range of the repository, and invalidating the first version of the document; to delete the invalidated first version of the document when it is no longer referenced by any active threads; to store a plurality of index records in an index, each record associated with a unique term in the first or second versions of the document, and having an associated accessible range of entries specifying repository locations of the associated term; and in conjunction with modifying the accessible range of the repository to include the second version, to modify the accessible range of a plurality of the index records to include entries corresponding to both the first version and second version. 6. The system of claim 4 , wherein the modules include instructions to execute, by each thread, a respective sequence of queries, each query executed using the range of the repository that was accessible while initiating execution of the query without regard to any changes made to the accessible range of the repository during execution of the query.