Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
New
Description
Spinoff of LUCENE-2380.
Now, when you load the terms index (FC.getTermsIndex), it loads two
arrays, ord (maps docID -> ord) and lookup (maps ord -> term).
But sometimes you don't need the lookup map (and, it's often very
costly in RAM usage, much moreso than the ord map).
EG if your index is a single segment, and your app doesn't need the
values (LUCENE-2335).
Or, if you use a sort comparator that resolves ord -> term and v/v (eg
using terms dict).
So we should make it optional...
Also, similarly, we could merge getTerms/getTermsIndex. It's
dangerous today if you load terms and then termsIndex because you're
wasting tons of RAM; it'd be nicer if we could have a single cache
entry that'd "upgrade" itself to be an index (have the ords). This
single entry could then serve ords, ords+terms, or just terms.