Sparse faceting uses the strategy pattern on multiple levels. Currently this means that there are 2 value counters (int[] and PackedInts), which each can operate in sparse and non-sparse mode.
One possible extension could be a counter optimized for very low-cardinality faceting and thus an alternative to enum faceting. The article Counting bytes fast hints of possible speed up.
Another extension could be a counter with maximum counts of 1 (a bitmap) for existence flagging, as described in SOLR-5725.
Sparse faceting uses the strategy pattern on multiple levels. Currently this means that there are 2 value counters (
int[]
andPackedInts
), which each can operate in sparse and non-sparse mode.One possible extension could be a counter optimized for very low-cardinality faceting and thus an alternative to enum faceting. The article Counting bytes fast hints of possible speed up.
Another extension could be a counter with maximum counts of 1 (a bitmap) for existence flagging, as described in SOLR-5725.