lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Wilton, Reece" <>
Subject RE: Reopen IndexWriter after delete?
Date Wed, 12 Nov 2003 23:57:40 GMT
I agree it's a bit of a strange design.

It seems that there should be one class that handles all modifications
of the index.  Usually you'd only have one instance of this so you
wouldn't need to open and close it all the time (I'm basically writing
one of these classes myself to simplify my code.  I'm sure other people
have written a similar class).  There should be another class that is
responsible for searching.  You may have multiple instances of this so
you can have multiple headends searching the index.

The IndexWriter and IndexReader almost do this separation.  It seems
that if the IndexWriter had the delete functionality, instead of the
IndexReader, things would be a lot simplier (from a synchronization
standpoint).  Maybe Otis, Erik or Doug could suggest why this may or may
not be a good idea.


-----Original Message-----
From: Dror Matalon [] 
Sent: Wednesday, November 12, 2003 12:06 PM
To: Lucene Users List
Subject: Re: Reopen IndexWriter after delete?

Which begs the question: why do you need to use an IndexReader rather
than an IndexWriter to delete an item?

On Tue, Nov 11, 2003 at 02:46:37PM -0800, Otis Gospodnetic wrote:
> > 1).  If I delete a term using an IndexReader, can I use an existing
> > IndexWriter to write to the index?  Or do I need to close and reopen
> > the IndexWriter?
> No.  You should close IndexWriter first, then open IndexReader, then
> call delete, then close IndexReader, and then open a new IndexWriter.
> > 2).  Is it safe to call IndexReader.delete(term) while an
> > is
> > writing?  Or should I be synchronizing these two tasks so only one
> > occurs at a time?
> No, it is not safe.  You should close the IndexWriter, then delete the
> document and close IndexReader, and then get a new IndexWriter and
> continue writing.
> Incidentally, I just wrote a section about concurrency issues and
> locking in Lucene for the upcoming Lucene book.
> Otis
> __________________________________
> Do you Yahoo!?
> Protect your identity with Yahoo! Mail AddressGuard
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

Dror Matalon
Zapatec Inc 
1700 MLK Way
Berkeley, CA 94709

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

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

View raw message