Package org.apache.lucene.facet.sortedset

# Class ConcurrentSortedSetDocValuesFacetCounts

java.lang.Object
org.apache.lucene.facet.Facets
org.apache.lucene.facet.sortedset.ConcurrentSortedSetDocValuesFacetCounts

public class ConcurrentSortedSetDocValuesFacetCounts extends Facets
Like `SortedSetDocValuesFacetCounts`, but aggregates counts concurrently across segments.

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

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ConcurrentSortedSetDocValuesFacetCounts(SortedSetDocValuesReaderState state, ExecutorService exec)`
  Returns all facet counts, same result as searching on `MatchAllDocsQuery` but faster.
  `ConcurrentSortedSetDocValuesFacetCounts(SortedSetDocValuesReaderState state, FacetsCollector hits, ExecutorService exec)`
  Counts all facet dimensions across the provided hits.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `FacetResult`
  `getAllChildren(String dim, String... path)`
  Returns all child labels with non-zero counts under the specified path.
  `List<FacetResult>`
  `getAllDims(int topN)`
  Returns topN labels for any dimension that had hits, sorted by the number of hits that dimension matched; this is used for "sparse" faceting, where many different dimensions were indexed, for example depending on the type of document.
  `Number`
  `getSpecificValue(String dim, String... path)`
  Return the count or value for a specific path.
  `FacetResult`
  `getTopChildren(int topN, String dim, String... path)`
  Returns the topN child labels under the specified path.
  `List<FacetResult>`
  `getTopDims(int topNDims, int topNChildren)`
  Returns labels for topN dimensions and their topNChildren sorted by the number of hits/aggregated values that dimension matched.

  ### Methods inherited from class org.apache.lucene.facet.Facets

  `validateTopN`

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

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

- ## Constructor Details

  - ### ConcurrentSortedSetDocValuesFacetCounts

    public ConcurrentSortedSetDocValuesFacetCounts(SortedSetDocValuesReaderState state, ExecutorService exec) throws IOException, InterruptedException
    Returns all facet counts, same result as searching on `MatchAllDocsQuery` but faster.
    Throws:
      `IOException`
      `InterruptedException`

  - ### ConcurrentSortedSetDocValuesFacetCounts

    public ConcurrentSortedSetDocValuesFacetCounts(SortedSetDocValuesReaderState state, FacetsCollector hits, ExecutorService exec) throws IOException, InterruptedException
    Counts all facet dimensions across the provided hits.
    Throws:
      `IOException`
      `InterruptedException`

- ## Method Details

  - ### getTopChildren

    public FacetResult getTopChildren(int topN, String dim, String... path) throws IOException
    Description copied from class: `Facets`
    Returns the topN child labels under the specified path. Returns null if the specified path doesn't exist or if this dimension was never seen.
    Specified by:
      `getTopChildren` in class `Facets`
    Throws:
      `IOException`

  - ### getAllChildren

    public FacetResult getAllChildren(String dim, String... path) throws IOException
    Description copied from class: `Facets`
    Returns all child labels with non-zero counts under the specified path. Users should make no assumptions about ordering of the children. Returns null if the specified path doesn't exist or if this dimension was never seen.
    Specified by:
      `getAllChildren` in class `Facets`
    Throws:
      `IOException`

  - ### getSpecificValue

    public Number getSpecificValue(String dim, String... path) throws IOException
    Description copied from class: `Facets`
    Return the count or value for a specific path. Returns -1 if this path doesn't exist, else the count.
    Specified by:
      `getSpecificValue` in class `Facets`
    Throws:
      `IOException`

  - ### getAllDims

    public List<FacetResult> getAllDims(int topN) throws IOException
    Description copied from class: `Facets`
    Returns topN labels for any dimension that had hits, sorted by the number of hits that dimension matched; this is used for "sparse" faceting, where many different dimensions were indexed, for example depending on the type of document.
    Specified by:
      `getAllDims` in class `Facets`
    Throws:
      `IOException`

  - ### getTopDims

    public List<FacetResult> getTopDims(int topNDims, int topNChildren) throws IOException
    Description copied from class: `Facets`
    Returns labels for topN dimensions and their topNChildren sorted by the number of hits/aggregated values that dimension matched. Results should be the same as calling getAllDims and then only using the first topNDims. Note that dims should be configured as requiring dim counts if using this functionality to ensure accurate counts are available (see: `FacetsConfig.setRequireDimCount(String, boolean)`).

    Sub-classes may want to override this implementation with a more efficient one if they are able.

    Overrides:
      `getTopDims` in class `Facets`
    Throws:
      `IOException`