lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael McCandless <>
Subject Re: Realtime Search
Date Fri, 09 Jan 2009 13:39:23 GMT

Jason Rutherglen wrote:

> Patch #1: Expose an IndexWriter.getReader method that returns the  
> current reader and shares the write lock

I tentatively like this approach so far...

That reader is opened using IndexWriter's SegmentInfos instance, so it
can read segments & deletions that have been flushed but not
committed.  It's allowed to do its own deletions & norms updating.
When reopen() is called, it grabs the writers SegmentInfos again.

> Patch #2: Implement a realtime ram index class

I think this one is optional, or, rather an optimazation that we can
swap in later if/when necessary?  Ie for starters little segments are
written into the main Directory.

> Patch #3: Implement realtime transactions in IndexWriter or in a  
> subclass of IndexWriter by implementing a createTransaction method  
> that generates a realtime Transaction object.  When the transaction  
> is flushed, the transaction index modifications are available via  
> the getReader method of IndexWriter

Can't this be layered on top?

Or... are you looking to add support for multiple transactions in
flight at once on IndexWriter?


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

View raw message