> I have been having these thoughts as well, did not implement anything,
> but already expected the 50% drop: I namely think, that you dropped
> the SharedFieldCache memory usage with for example 90%, where the
> SharedFieldCache is a little more then the actual used memory: namely,
> the other 50% is kept by the opened indexReader internal in lucene.
> *If* we are able to actively flush this (TermEnum cache) in our opened
> lucene indexes, I think we are there: namely the SharedFieldCache
> contains the sorting data already, which is kept. Then, we might drop
> memory to way beyond 50%. I looked at this quite some time ago, but
> did not have time to see how we could flush the lucene termenums...
Small addon:
>From lucene api:
/lucene/docs/api/org/apache/lucene/index/TermEnum.html
close()
Closes the enumeration to further activity, freeing resources.
As the SharedFieldCache does end in the finally with
termEnum.close();
one would expect Lucene to free the in memory terms....I did not test
it, but from the top of my head, memory snapshots I saw in the past do
indicate memory is not freed, and the terms are kept in memory
Regards Ard
>
>