lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Muir (JIRA)" <>
Subject [jira] [Commented] (LUCENE-4203) Add IndexWriter.tryDeleteDocument, to delete by document id when possible
Date Mon, 09 Jul 2012 20:23:34 GMT


Robert Muir commented on LUCENE-4203:

It shouldn't be any hardship either because you should use an NRT reader from IW anyway to
even find the docID to delete.

Should we consider splitting out NRTSegmentReader and just make it type-safe?

SegmentReader is already simplified, as long as its an AtomicReader nothing in Lucene should
care, and
we could factor out the NRT-only ctor etc in SR today...

Just an idea, not sure about it myself :)

> Add IndexWriter.tryDeleteDocument, to delete by document id when possible
> -------------------------------------------------------------------------
>                 Key: LUCENE-4203
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: core/index
>            Reporter: Michael McCandless
>         Attachments: LUCENE-4203.patch
> Spinoff from LUCENE-4069.
> In that use case, where the app needs to first lookup a document, then
> call updateDocument, it's wasteful today because the relatively costly
> lookup (by a primary key field, eg "id") is done twice.
> But, since you already resolved the PK to docID on the first lookup,
> it would be nice to then delete by that docID and then you can call
> addDocument instead.
> So I worked out a rough start at this, by adding
> IndexWriter.tryDeleteDocument.  It'd be a very expert API: it takes a
> SegmentInfo (referencing the segment that contains the docID), and as
> long as that segment hasn't yet been merged away, it will mark the
> document for deletion and return true (success).  If it has been
> merged away it returns false and the app must then delete-by-term.  It
> only works if the writer is in NRT mode (ie you've opened an NRT
> reader).
> In LUCENE-4069 using tryDeleteDocument gave a ~20% net speedup.
> I think tryDeleteDocument would also be useful when Solr "updates" a
> document by loading all stored fields, changing them, and calling
> updateDocument.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


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

View raw message