Class LongRangeFacetCounts


public class LongRangeFacetCounts extends FacetCountsWithFilterQuery
Facets implementation that computes counts for dynamic long ranges. 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.).
WARNING: This API is experimental and might change in incompatible ways in the next release.
  • Field Details

    • ranges

      protected final Range[] ranges
      Ranges passed to constructor.
    • counts

      protected final int[] counts
      Counts, initialized in by subclass.
    • field

      protected final String field
      Our field name.
    • totCount

      protected int totCount
      Total number of hits.
  • Constructor Details

  • Method Details

    • getLongRanges

      protected LongRange[] getLongRanges()
    • mapDocValue

      protected long mapDocValue(long l)
    • count

      protected void count(String field, List<FacetsCollector.MatchingDocs> matchingDocs) throws IOException
      Counts from the provided field.
      Throws:
      IOException
    • getAllChildren

      public FacetResult getAllChildren(String dim, String... path) throws IOException
      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.

      NOTE: This implementation guarantees that ranges will be returned in the order specified by the user when calling the constructor.

      Specified by:
      getAllChildren in class Facets
      Throws:
      IOException
    • 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) 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
    • toString

      public String toString()
      Overrides:
      toString in class Object