If have a question about transactions .
 
Lucene doesn`t support transactions but I find it very important and I think it 
is possible to add some kind of rollback/commit functionality to make sure the 
index doesn`t corrupt..
 
With lucene every segment is immutable (this is a perfect starting point), so 
after it has been created it will remain forever in a valid state. There are 3 
ways to alter the index
1) deleting documents 
2) adding documents
3) optimization
 
If I delete a document, a del file appears (but doesn`t alter the segment 
because it is immutable). 
-if crash: the del files could be deleted to do a rollback.
-if succes: the del files finally will be used by the writer to skip those 
documents in the new segment.
 
If a new document is added, a new segment is created (finally). 
-if succes: the new segment is created and the old segments can be deleted.
-if crash: the new segment (maybe it`s corrupted) can be deleted to do a 
rollback.
 
If the index is optimized a new segment is created based on older segments.
-if succes: the old segments can be deleted.
-if crash: the new segment (maybe it`s corrupted) can be deleted to do a 
rollback.
 
With this information it wouldn`t be to much trouble to add some kind of 
rollback/transaction functionality?
 
And how about those 'per index' files? Can these be corrupted? Can these be 
removed and recreated succesfully? Would it be an idea to make copies of these 
files and restore them if the tranaction is rollbacked? 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to