On Jan 23, 2008 6:34 AM, Michael McCandless <[EMAIL PROTECTED]> wrote:
>    writer.freezeDocIDs();
>    try {
>      get docIDs from somewhere & call writer.deleteByDocID
>    } finally {
>      writer.unfreezeDocIDs();
>    }

Interesting idea, but would require the IndexWriter to flush the
buffered docs so an IndexReader could be created fro them.  (or would
require the existence of an UnflushedDocumentsIndexReader)

> If we went that route, we'd need to expose methods in IndexWriter to
> let you get reader(s), and, to then delete by docID.

Right... I had envisioned a callback that was called after a new
segment was created/flushed that passed IndexReader[].  In an
environment of mixed deletes and adds, it would avoid slowing down the
indexing part by limiting where the deletes happen.

It does put a little more burden on the user, but a slightly harder
(but more powerful / more efficient) API is preferable since easier
APIs can always be built on top (but not vice-versa).

> I do like the idea of a UID field, but I'm a bit nervous about having
> the "core" maintain it

+1

-Yonik

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to