Class LongRangeFacetCounts


  • public class LongRangeFacetCounts
    extends Facets
    Facets implementation that computes counts for dynamic long ranges from a provided ValueSource, using FunctionValues.longVal(int). Use this for dimensions that change in real-time (e.g. a relative time based dimension like "Past day", "Past 2 days", etc.) or that change for each request (e.g. distance from the user's location, "< 1 km", "< 2 km", etc.).
    • 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

      • LongRangeFacetCounts

        public LongRangeFacetCounts​(java.lang.String field,
                                    FacetsCollector hits,
                                    LongRange... ranges)
                             throws java.io.IOException
        Create LongRangeFacetCounts, using LongFieldSource from the specified field.
        Throws:
        java.io.IOException
      • LongRangeFacetCounts

        public LongRangeFacetCounts​(java.lang.String field,
                                    ValueSource valueSource,
                                    FacetsCollector hits,
                                    LongRange... ranges)
                             throws java.io.IOException
        Create RangeFacetCounts, using the provided ValueSource.
        Throws:
        java.io.IOException
      • LongRangeFacetCounts

        public LongRangeFacetCounts​(java.lang.String field,
                                    ValueSource valueSource,
                                    FacetsCollector hits,
                                    Filter fastMatchFilter,
                                    LongRange... ranges)
                             throws java.io.IOException
        Create RangeFacetCounts, using the provided ValueSource, and using the provided Filter as a fastmatch: only documents passing the filter are checked for the matching ranges. The filter must be random access (implement DocIdSet.bits()).
        Throws:
        java.io.IOException
    • Method Detail

      • getTopChildren

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

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