lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Penning <>
Subject Re: Taking backup of a Lucene index
Date Thu, 06 Jun 2013 08:14:28 GMT
I do my backups by creating a new index at the backup target and copying 
everything over with IndexWriter#addIndexes(IndexReader... readers). In 
the future i am also planing on using a RateLimitedDirectoryWrapper to 
reduce the influence of the running backup on the rest of the system.

Am 06.06.2013 09:43, schrieb Thomas Matthijs:
> On Thu, Jun 6, 2013 at 7:38 AM, Lance Norskog <> wrote:
>> The simple answer (that somehow nobody gave) is that you can make a copy
>> of an index directory at any time. Indexes are changed in "generations".
>> The segment* files describe the current generation of files. All active
>> indexing goes on in new files. In a commit, all new files are flushed to
>> disk and then the segment* files change. At any point in this sequence, all
>> of the files in the directory form one consistent index.
>> This isn't like MySQL or other databases where you have to shut down the
>> DB to get a safe copy of the files.
> If you just do a naive copy, where it gets a file list first, and then
> copies them, segments can be merged during the copy and deleted by lucene
> resulting in an incomplete backup, that is why you need the snapshot policy
> to keep them around until the copy is completed.
> If you have very few updates and don't mind risking a broken index, or just
> loop rsync till both sides are equal you don't need anything else indeed

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message