Class LongRangeOnRangeFacetCounts


public class LongRangeOnRangeFacetCounts extends RangeOnRangeFacetCounts
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 Details

    • LongRangeOnRangeFacetCounts

      public LongRangeOnRangeFacetCounts(String field, FacetsCollector hits, RangeFieldQuery.QueryType queryType, LongRange... ranges) throws IOException
      Constructor without the fast match query, see other constructor description for more details.
      Throws:
      IOException
    • 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 Details

    • getEncodedRanges

      private static byte[][] getEncodedRanges(LongRange... ranges)