Class SortedSetDocValuesFacetCounts

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

public class SortedSetDocValuesFacetCounts extends Facets
Compute facets counts from previously indexed SortedSetDocValuesFacetField, without require a separate taxonomy index. Faceting is a bit slower (~25%), and there is added cost on every IndexReader open to create a new SortedSetDocValuesReaderState. Furthermore, this does not support hierarchical facets; only flat (dimension + label) facets, but it uses quite a bit less RAM to do so.

NOTE: this class should be instantiated and then used from a single thread, because it holds a thread-private instance of SortedSetDocValues.

NOTE:: tie-break is by unicode sort order

  • Constructor Details

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

      public Number getSpecificValue(String dim, String... path)
      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
    • 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