jpountz commented on a change in pull request #443: URL: https://github.com/apache/lucene/pull/443#discussion_r753161661
########## 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: Haha, I thought @bruno-roustant had taken that role. From what I remember Java uses a dual-pivot quicksort on arrays of native types that doesn't take advantage of already sorted data. Let's look into it in a follow-up? -- 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