I d like to create a class for creating a classical transaction.
Overviewing lucene api , i can see commit/rollback/prepareCommit are just
for the entire index not for partial modifications.

So i thought i could to use api writer.addIndexes as support:
when i open a transaction i could
create a temporary lucene directory ....
make all persistent operation on it.

reading operation inside transaction using a special reader using 2 indexes
(main+temporary). If i remember correctly there is in lucene this special
wrapper.
when there is a threadlocal commit i copy directory (addIndexes api) to
main directory , and i delete the temporary dir.

What do you think? can it work?
lucene api are thread safe?

Reply via email to