[prev in list] [next in list] [prev in thread] [next in thread] 

List:       lucene-dev
Subject:    Deleting document in IndexWriter
From:       Daniel Naber <daniel.naber () t-online ! de>
Date:       2004-12-16 22:16:31
Message-ID: 200412162316.31377 () danielnaber ! de
[Download RAW message or body]

Hi,

the request to delete documents in IndexWriter instead of IndexReader comes 
up regularly. What if we implement a delete() method in IndexWriter like 
this:

  public synchronized void delete(int docNum) throws IOException {
    IndexReader ireader = IndexReader.open(directory);
    ireader.deleteIngoreLock(docNum);
    ireader.close();
  }

deleteIngoreLock would be a new method just like delete, but that doesn't 
create a lock -- it uses the IndexWriter's lock which exists all the time. 
Would this work and would this be safe?

I'm well aware that this can be slow, but it makes deleting documents so 
much easier for many people who don't have huge indices. We could document 
the fact that it's slow and use an array of document IDs to encourage 
people to delete more than one document at once, so the overhead of 
opening the reader becomes less.

Regards
 Daniel

-- 
http://www.danielnaber.de

---------------------------------------------------------------------
To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: lucene-dev-help@jakarta.apache.org

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic