You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Michael McCandless (JIRA)" <ji...@apache.org> on 2015/06/04 11:11:41 UTC
[jira] [Created] (LUCENE-6524) Create an IndexWriter from an
already opened NRT or non-NRT reader
Michael McCandless created LUCENE-6524:
------------------------------------------
Summary: 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
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-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org