Class LongRangeOnRangeFacetCounts


  • public class LongRangeOnRangeFacetCounts
    extends FacetCountsWithFilterQuery
    Represents counts for long range on range faceting. To be more specific, this means that given a range (or list of ranges), this class will count all the documents in the FacetsCollector (or that match a fast match query) that contain ranges that "match" the provided ranges. These ranges are specified by the field parameter and expected to be of type LongRangeDocValuesField. Matching is defined by the queryType param, you can see the type of matching supported by looking at RangeFieldQuery.QueryType. In addition, this class supports multidimensional ranges. A multidimensional range will be counted as a match if every dimension matches the corresponding indexed range's dimension.
    • Constructor Detail

      • LongRangeOnRangeFacetCounts

        public LongRangeOnRangeFacetCounts​(String field,
                                           FacetsCollector hits,
                                           RangeFieldQuery.QueryType queryType,
                                           Query fastMatchQuery,
                                           LongRange... ranges)
                                    throws IOException
        Represents counts for long range on range faceting. See class javadoc for more details.
        Parameters:
        field - specifies a LongRangeDocValuesField that will define the indexed ranges
        hits - hits we want to count against
        queryType - type of intersection we want to count (IE: range intersection, range contains, etc.)
        fastMatchQuery - query to quickly discard hits using some heuristic
        ranges - ranges we want the counts of
        Throws:
        IOException - low level exception
    • Method Detail

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