mikemccand commented on a change in pull request #220: URL: https://github.com/apache/lucene/pull/220#discussion_r676902852
########## File path: lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyWriter.java ########## @@ -475,8 +476,20 @@ private int addCategoryDocument(FacetLabel categoryPath, int parent) throws IOEx String fieldPath = FacetsConfig.pathToString(categoryPath.components, categoryPath.length); fullPathField.setStringValue(fieldPath); + + boolean commitExists = indexWriter.getLiveCommitData().iterator().hasNext(); + /* no commits so this is a fresh index, or the old index was built using a Lucene 9 or greater version */ + if ((commitExists == false) + || (SegmentInfos.readLatestCommit(dir) Review comment: This is a horrifyingly costly check to do for every added `FacetLabel`! Couldn't we do this check once in ctor when this `TaxonomyWriter` is created, and store the result in a `final boolean`? ########## File path: lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyWriter.java ########## @@ -475,8 +476,20 @@ private int addCategoryDocument(FacetLabel categoryPath, int parent) throws IOEx String fieldPath = FacetsConfig.pathToString(categoryPath.components, categoryPath.length); fullPathField.setStringValue(fieldPath); + + boolean commitExists = indexWriter.getLiveCommitData().iterator().hasNext(); + /* no commits so this is a fresh index, or the old index was built using a Lucene 9 or greater version */ + if ((commitExists == false) + || (SegmentInfos.readLatestCommit(dir) + .getMinSegmentLuceneVersion() + .onOrAfter(Version.LUCENE_9_0_0))) { + /* Lucene 9 introduces BinaryDocValuesField for storing taxonomy categories */ Review comment: Maybe `switches to` instead of `introduces`? -- 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