[ 
https://issues.apache.org/jira/browse/LUCENE-6524?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael McCandless updated LUCENE-6524:
---------------------------------------
    Attachment: LUCENE-6524.patch

New patch, folding in trunk changes, fixing all nocommits, beefing up the 
tests...

> Create an IndexWriter from an already opened NRT or non-NRT reader
> ------------------------------------------------------------------
>
>                 Key: LUCENE-6524
>                 URL: https://issues.apache.org/jira/browse/LUCENE-6524
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Michael McCandless
>            Assignee: Michael McCandless
>             Fix For: Trunk, 5.3
>
>         Attachments: LUCENE-6524.patch, LUCENE-6524.patch
>
>
> I'd like to add a new ctor to IndexWriter, letting you start from an already
> opened NRT or non-NRT DirectoryReader.  I think this is a long missing
> API in Lucene today, and we've talked in the past about different ways
> to fix it e.g. factoring out a shared reader pool between writer and reader.
> One use-case, which I hit in LUCENE-5376: if you have a read-only
> index, so you've opened a non-NRT DirectoryReader to search it, and
> then you want to "upgrade" to a read/write index, we don't handle that
> very gracefully now because you are forced to open 2X the
> SegmentReaders.
> But with this API, IW populates its reader pool with the incoming
> SegmentReaders so they are shared on any subsequent NRT reopens /
> segment merging / deletes applying, etc.
> Another (more expert) use case is allowing rollback to an NRT-point.
> Today, you can only rollback to a commit point (segments_N).  But an
> NRT reader also reflects a valid "point in time" view of the index (it
> just doesn't have a segments_N file, and its ref'd files are not
> fsync'd), so with this change you can close your old writer, open a
> new one from this NRT point, and revert all changes that had been done
> after the NRT reader was opened from the old writer.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to