2.9 has fixed this bug (IndexReader.reopen failing to carry over the
index divisor to newly opened segments).

One workaround is to simply use reopen(), knowing that for the new
segments it's loading all your terms, but realizing that the new
segments are usually very small so the added memory usage is minor?
The problem is, on a large merge the new segments are not small.

Alternatively, if you can sneak code into the oal.index package, you
could call MultiSegmentReader.getSubReaders() and set the index
divisor yourself?  Any segment that's already loaded it terms index
will throw an IllegalStateException, which you can catch and suppress,
while the new segments will allow the call.

Mike

On Thu, Nov 5, 2009 at 5:46 AM, Ganesh <emailg...@yahoo.co.in> wrote:
> Hello all,
>
> Due to some constraint in memory, I want to load less terms in memory. In 
> case of Lucene 2.4.1, IndexDivisor is not working when we do reopen. Is there 
> any other way out to achieve it.
>
> Regards
> Ganesh
>
> Send instant messages to your online friends http://in.messenger.yahoo.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
> For additional commands, e-mail: java-user-h...@lucene.apache.org
>
>

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

Reply via email to