gsmiller commented on a change in pull request #443:
URL: https://github.com/apache/lucene/pull/443#discussion_r751451039



##########
File path: lucene/facet/src/java/org/apache/lucene/facet/FacetsConfig.java
##########
@@ -409,9 +410,26 @@ private void processFacetFields(
         indexDrillDownTerms(doc, indexFieldName, dimConfig, facetLabel);
       }
 
-      // Facet counts:
-      // DocValues are considered stored fields:
-      doc.add(new BinaryDocValuesField(indexFieldName, 
dedupAndEncode(ordinals.get())));
+      // Store the taxonomy ordinals associated with each doc. Prefer to use 
SortedNumericDocValues
+      // but "fall back" to a custom binary format to maintain backwards 
compatibility with Lucene 8
+      // indexes.
+      if (taxoWriter.useNumericDocValuesForOrdinals()) {
+        // Dedupe and encode the ordinals. It's not important that we sort here
+        // (SortedNumericDocValuesField will handle this internally), but we

Review comment:
       Did a little digging and it appears the sorting is done using 
`Arrays.sort` (from 
[here](https://github.com/apache/lucene/blob/main/lucene/core/src/java/org/apache/lucene/index/SortedNumericDocValuesWriter.java#L75)),
 which is a flavor of quicksort. I'm not deeply familiar with the current 
sorting implementation but from a quick glance, it looks to me like it's trying 
to be efficient for already-sorted cases. If anyone knows better, I'd be 
curious to learn more (just haven't had time to dive really deep on this).




-- 
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