lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason Rutherglen (JIRA)" <>
Subject [jira] [Commented] (LUCENE-2312) Search on IndexWriter's RAM Buffer
Date Thu, 01 Sep 2011 16:56:09 GMT


Jason Rutherglen commented on LUCENE-2312:

I'll post a new patch shortly that fixes bugs and adds a bit more to the

The benchmark results are interesting. Array copies are very fast, I don't see
any problems with that, the median time is 2 ms. The concurrent skip list map
is expensive to add numerous 10s of thousands of terms to. I think that is to
be expected. The strategy of amortizing that cost by creating sorted by term
int[]s will probably be more performant than CSLM. 

The sorted int[] terms can be merged just like segments, thus RT becomes a way
to remove the [NRT] cost of merging [numerous] postings lists. The int[] terms
can be merged in the background so that raw indexing speed is not affected.

> Search on IndexWriter's RAM Buffer
> ----------------------------------
>                 Key: LUCENE-2312
>                 URL:
>             Project: Lucene - Java
>          Issue Type: New Feature
>          Components: core/search
>    Affects Versions: Realtime Branch
>            Reporter: Jason Rutherglen
>            Assignee: Michael Busch
>             Fix For: Realtime Branch
>         Attachments: LUCENE-2312-FC.patch, LUCENE-2312.patch, LUCENE-2312.patch, LUCENE-2312.patch
> In order to offer user's near realtime search, without incurring
> an indexing performance penalty, we can implement search on
> IndexWriter's RAM buffer. This is the buffer that is filled in
> RAM as documents are indexed. Currently the RAM buffer is
> flushed to the underlying directory (usually disk) before being
> made searchable. 
> Todays Lucene based NRT systems must incur the cost of merging
> segments, which can slow indexing. 
> Michael Busch has good suggestions regarding how to handle deletes using max doc ids.
> The area that isn't fully fleshed out is the terms dictionary,
> which needs to be sorted prior to queries executing. Currently
> IW implements a specialized hash table. Michael B has a
> suggestion here: 

This message is automatically generated by JIRA.
For more information on JIRA, see:


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

View raw message