stefanvodita commented on code in PR #12547:
URL: https://github.com/apache/lucene/pull/12547#discussion_r1335004657


##########
lucene/facet/src/java/org/apache/lucene/facet/taxonomy/FloatTaxonomyFacets.java:
##########
@@ -37,33 +37,43 @@ abstract class FloatTaxonomyFacets extends TaxonomyFacets {
 
   // TODO: also use native hash map for sparse collection, like 
IntTaxonomyFacets
 
-  /** Aggregation function used for combining values. */
-  final AssociationAggregationFunction aggregationFunction;
+  /** Aggregation functions used for combining values. */
+  final List<AssociationAggregationFunction> aggregationFunctions;
 
   /** Per-ordinal value. */
-  float[] values;
+  float[][] values;
+
+  @Override
+  boolean hasValues() {
+    return values != null;
+  }
+
+  void initializeValueCounters() {
+    if (values == null) {
+      values = new float[aggregationFunctions.size()][taxoReader.getSize()];

Review Comment:
   This is a great point. `IntTaxonomyFacets` has the ability to choose sparse 
values if the taxonomy is large and there aren't a lot of hits. We can have the 
same functionality in `FloatTaxonomyFacets`. This was also mentioned recently 
in [another issue](https://github.com/apache/lucene/issues/12576), which puts 
into question the way we decide between sparse and dense values.
   Fundamentally, I think the user of this feature will have to decide if they 
can make the space for time tradeoff for computing multiple aggregations.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to