Class DoubleRangeOnRangeFacetCounts
java.lang.Object
org.apache.lucene.facet.Facets
org.apache.lucene.facet.FacetCountsWithFilterQuery
org.apache.lucene.facet.rangeonrange.DoubleRangeOnRangeFacetCounts
Represents counts for double 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 index (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
DoubleRangeDocValuesField
. 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.-
Field Summary
Fields inherited from class org.apache.lucene.facet.FacetCountsWithFilterQuery
fastMatchQuery
-
Constructor Summary
ConstructorDescriptionDoubleRangeOnRangeFacetCounts
(String field, FacetsCollector hits, RangeFieldQuery.QueryType queryType, DoubleRange... ranges) Constructor without the fast match query, see other constructor description for more details.DoubleRangeOnRangeFacetCounts
(String field, FacetsCollector hits, RangeFieldQuery.QueryType queryType, Query fastMatchQuery, DoubleRange... ranges) Represents counts for double range on range faceting. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
count
(String field, List<FacetsCollector.MatchingDocs> matchingDocs, byte[][] encodedRanges, int numEncodedValueBytes, RangeFieldQuery.QueryType queryType) Counts from the provided field.getAllChildren
(String dim, String... path) Returns all child labels with non-zero counts under the specified path.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.getSpecificValue
(String dim, String... path) Return the count or value for a specific path.getTopChildren
(int topN, String dim, String... path) Returns the topN child labels under the specified path.Methods inherited from class org.apache.lucene.facet.FacetCountsWithFilterQuery
createIterator
Methods inherited from class org.apache.lucene.facet.Facets
getTopDims, validateTopN
-
Constructor Details
-
DoubleRangeOnRangeFacetCounts
public DoubleRangeOnRangeFacetCounts(String field, FacetsCollector hits, RangeFieldQuery.QueryType queryType, DoubleRange... ranges) throws IOException Constructor without the fast match query, see other constructor description for more details.- Throws:
IOException
-
DoubleRangeOnRangeFacetCounts
public DoubleRangeOnRangeFacetCounts(String field, FacetsCollector hits, RangeFieldQuery.QueryType queryType, Query fastMatchQuery, DoubleRange... ranges) throws IOException Represents counts for double range on range faceting. See class javadoc for more details.- Parameters:
field
- specifies aDoubleRangeDocValuesField
that will define the indexed rangeshits
- hits we want to count againstqueryType
- type of intersection we want to count (IE: range intersection, range contains, etc.)fastMatchQuery
- query to quickly discard hits using some heuristicranges
- ranges we want the counts of- Throws:
IOException
- low level exception
-
-
Method Details
-
count
protected void count(String field, List<FacetsCollector.MatchingDocs> matchingDocs, byte[][] encodedRanges, int numEncodedValueBytes, RangeFieldQuery.QueryType queryType) throws IOException Counts from the provided field.- Throws:
IOException
-
getAllChildren
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 classFacets
- Throws:
IOException
-
getTopChildren
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 classFacets
- Throws:
IOException
-
getSpecificValue
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 classFacets
- Throws:
IOException
-
getAllDims
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 classFacets
- Throws:
IOException
-