[
https://issues.apache.org/jira/browse/LUCENE-1476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12662362#action_12662362
]
Michael McCandless commented on LUCENE-1476:
--------------------------------------------
{quote}
> One way to think of the realtime problem is in terms of segments rather than
> FSDirs and RAMDirs. Some segments are on disk, some in RAM.
{quote}
I think that's a good approach. IndexWriter could care less which dir
each segment resides in.
For starters let's flush all new segments into a single Directory (and
swap in RAMDir, single-file-Dir, etc., if/when necessary for better
performance).
Thinking out loud.... what if we added IndexWriter.getReader(), which
returns an IndexReader for the current index?
It would read segments that are not "visible" to a newly opened
IndexReader on that directory (ie, the SegmentInfos inside IndexWriter
was used to do the open, not the latest segments_N in the Directory).
That IndexReader is free to do deletions / set norms (shares write
lock under the hood w/ IndexWriter), and when reopen is called it
grabs the current SegmentInfos from IndexWriter and re-opens that.
We would un-deprecate flush(). The, the transaction layer would make
changes, call flush(), call reopen(), and return the reopened reader.
> BitVector implement DocIdSet
> ----------------------------
>
> Key: LUCENE-1476
> URL: https://issues.apache.org/jira/browse/LUCENE-1476
> Project: Lucene - Java
> Issue Type: Improvement
> Components: Index
> Affects Versions: 2.4
> Reporter: Jason Rutherglen
> Priority: Trivial
> Attachments: LUCENE-1476.patch, quasi_iterator_deletions.diff
>
> Original Estimate: 12h
> Remaining Estimate: 12h
>
> BitVector can implement DocIdSet. This is for making
> SegmentReader.deletedDocs pluggable.
--
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: [email protected]
For additional commands, e-mail: [email protected]