Interface FacetRecorder

All Known Implementing Classes:
CountFacetRecorder, LongAggregationsFacetRecorder, MultiFacetsRecorder

public interface FacetRecorder
Record data for each facet of each doc.

TODO: In the next iteration we can add an extra layer between FacetRecorder and LeafFacetRecorder, e.g. SliceFacetRecorder. The new layer will be created per Collector, which means that collecting of multiple leafs (segments) within a slice is sequential and can be done to a single non-sync map to improve performance and reduce memory consumption. We already tried that, but didn't see any performance improvement. Given that it also makes lazy leaf recorder init in FacetFieldCollector trickier, it was decided to rollback the initial attempt and try again later, in the next iteration.

WARNING: This API is experimental and might change in incompatible ways in the next release.