Today the facet module simply gathers all hits (as a bitset, optionally with a float to hold scores as well, if you will aggregate them) during collection, and then at the end when you call getFacetsResults(), it makes a 2nd pass over all those hits doing the actual aggregation.
We should investigate just aggregating as we collect instead, so we don't have to tie up transient RAM (fairly small for the bit set but possibly big for the float).
|Summary||Facets should aggregate during collection, not at the end||Explore facets aggregation during documents collection|
|Component/s||modules/facet [ 12314601 ]|
|Assignee||Shai Erera [ shaie ]|
|Status||Open [ 1 ]||Resolved [ 5 ]|
|Lucene Fields||New [ 10121 ]||New,Patch Available [ 10121, 10120 ]|
|Fix Version/s||4.2 [ 12323899 ]|
|Fix Version/s||5.0 [ 12321663 ]|
|Resolution||Fixed [ 1 ]|
|Status||Resolved [ 5 ]||Closed [ 6 ]|