2009/5/19 ant <[email protected]>:
> This is my elevate.xml.about 34 <query> nodes, and each of them about two or
> three <doc> nodes.
> Perhaps the bad performance because of the small memory?
OK, I see... the elevation component maintains a FieldCache entry for
"id", to translate docid to uniqueKey to do a HashMap lookup.
The HashMap lookup could be the cause of a little slowness, but the
main culprit is probably the memory used by the FieldCache entry.
Comments in the implementation mention this too:
// A future alternate version could store internal docids (would
need to be regenerated per IndexReader)
// instead of loading the FieldCache instance into memory.
Is there a way to give your JVM more heap, or to decrease the size of
the uniqueKey field values?
We should probably develop an option to directly hash on internal
docids (avoiding bringing all of the uniqueKey values into memory).
Could you open a JIRA issue for this?
-Yonik
http://www.lucidimagination.com