lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Hostetter <>
Subject Re: Urgent! Forgot to close IndexWriter after adding Documents to the index.
Date Tue, 22 Mar 2011 03:21:44 GMT

(replying to the dev list, see context below)

: Unfortunately, you can't easily recover from this (except by
: reindexing your docs again).
: Failing to call IW.commit() or IW.close() means no segments file was written...

I know there were good reasons for eliminating the "autoCommit" 
functionality from IndexWriter, but threads like tis make me thing thta 
even though "autoCommit" on flush/merge/whatever was bad, having an option 
for some sort of "autoClose" using a finalizer might by a good idea to 
give new/novice users a safety net.

In the case of totally successful normal operation, this would result in 
one commit at GC (assuming the JVM calls the finalizer) and if there were 
any errors it should (if i understnad correclty) do an implicit rollback.

Anyone see a downside?


: > I had a program running for 2 days to build an index for around 160 million
: > text files, and after program ended, I tried searching the index and found
: > the index was not correctly built, *indexReader.numDocs()* returns 0. I
: > checked the index directory, it looked good, all the index data seemed to be
: > there, the directory is 1.5 Gigabytes in size.
: >
: > I checked my code and found that I forgot to call *indexWriter.optimize()*and
: > *indexWriter.close()*, I want to know if it is possible to
: > *re-optimize()*the index so I don't need to rebuild the whole index
: > from scratch? I don't
: > really want the program to take another 2 days.


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

View raw message