lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael McCandless (JIRA)" <>
Subject [jira] Created: (LUCENE-1194) Add deleteByQuery to IndexWriter
Date Tue, 26 Feb 2008 15:54:55 GMT
Add deleteByQuery to IndexWriter

                 Key: LUCENE-1194
             Project: Lucene - Java
          Issue Type: New Feature
            Reporter: Michael McCandless
            Assignee: Michael McCandless
            Priority: Minor
             Fix For: 2.4

This has been discussed several times recently:

If we add deleteByQuery to IndexWriter then this is a big step towards
allowing IndexReader to be readonly.

I took the approach suggested in that first thread: I buffer delete
queries just like we now buffer delete terms, holding the max docID
that the delete should apply to.

Then, I also decoupled flushing deletes (mapping term or query -->
actual docIDs that need deleting) from flushing added documents, and
now I flush deletes only when a merge is started, or on commit() or
close().  SegmentMerger now exports the docID map it used when
merging, and I use that to renumber the max docIDs of all pending

Finally, I turned off tracking of memory usage of pending deletes
since they now live beyond each flush.  Deletes are now only
explicitly flushed if you set maxBufferedDeleteTerms to something
other than DISABLE_AUTO_FLUSH.  Otherwise they are flushed at the
start of every merge.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

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

View raw message