Class 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

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.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.
      java.lang.Number getSpecificValue​(java.lang.String dim, java.lang.String... path)
      Return the count or value for a specific path.
      FacetResult getTopChildren​(int topN, java.lang.String dim, java.lang.String... path)
      Returns the topN child labels under the specified path.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SortedSetDocValuesFacetCounts

        public SortedSetDocValuesFacetCounts​(SortedSetDocValuesReaderState state,
                                             FacetsCollector hits)
                                      throws java.io.IOException
        Sparse faceting: returns any dimension that had any hits, topCount labels per dimension.
        Throws:
        java.io.IOException
    • Method Detail

      • getTopChildren

        public FacetResult getTopChildren​(int topN,
                                          java.lang.String dim,
                                          java.lang.String... path)
                                   throws java.io.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:
        java.io.IOException
      • getSpecificValue

        public java.lang.Number getSpecificValue​(java.lang.String dim,
                                                 java.lang.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 java.util.List<FacetResult> getAllDims​(int topN)
                                               throws java.io.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:
        java.io.IOException