FacetUtils (Lucene 10.5.0 facet API)
Description: declaration: package: org.apache.lucene.facet, class: FacetUtils

Package org.apache.lucene.facet

# Class FacetUtils

java.lang.Object
org.apache.lucene.facet.FacetUtils

public final class FacetUtils extends Object
Utility class with a single method for getting a DocIdSetIterator that skips deleted docs

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

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static DocIdSetIterator`
  `liveDocsDISI(DocIdSetIterator it, Bits liveDocs)`
  Wrap the given DocIdSetIterator and liveDocs into another DocIdSetIterator that returns non-deleted documents during iteration.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### liveDocsDISI

    public static DocIdSetIterator liveDocsDISI(DocIdSetIterator it, Bits liveDocs)
    Wrap the given DocIdSetIterator and liveDocs into another DocIdSetIterator that returns non-deleted documents during iteration. This is useful for computing facet counts on match-all style queries that need to exclude deleted documents.

    `ConjunctionUtils` could be better home for this method if we can identify use cases outside facets module.

    Making this class pkg-private unfortunately limits the visibility of this method to `SortedSetDocValuesFacetCounts` and `ConcurrentSortedSetDocValuesFacetCounts` classes as Java does not allow pkg-private classes to be visible to sub-packages.

    Parameters:
      `it` - `DocIdSetIterator` being wrapped
      `liveDocs` - `Bits` containing set bits for non-deleted docs
    Returns:
      wrapped iterator