Package org.apache.lucene.facet.range
Class DoubleRangeFacetCounts
- java.lang.Object
-
- org.apache.lucene.facet.Facets
-
- org.apache.lucene.facet.range.DoubleRangeFacetCounts
-
public class DoubleRangeFacetCounts extends Facets
Facetsimplementation that computes counts for dynamic double ranges from a providedValueSource, usingFunctionValues.doubleVal(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.).If you had indexed your field using
FloatDocValuesFieldthen passFloatFieldSourceas theValueSource; if you usedDoubleDocValuesFieldthen passDoubleFieldSource(this is the default used when you pass just a the field name).
-
-
Constructor Summary
Constructors Constructor Description DoubleRangeFacetCounts(java.lang.String field, FacetsCollector hits, DoubleRange... ranges)CreateRangeFacetCounts, usingDoubleFieldSourcefrom the specified field.DoubleRangeFacetCounts(java.lang.String field, ValueSource valueSource, FacetsCollector hits, DoubleRange... ranges)CreateRangeFacetCounts, using the providedValueSource.DoubleRangeFacetCounts(java.lang.String field, ValueSource valueSource, FacetsCollector hits, Filter fastMatchFilter, DoubleRange... ranges)CreateRangeFacetCounts, using the providedValueSource, and using the provided Filter as a fastmatch: only documents passing the filter are checked for the matching ranges.
-
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.NumbergetSpecificValue(java.lang.String dim, java.lang.String... path)Return the count or value for a specific path.FacetResultgetTopChildren(int topN, java.lang.String dim, java.lang.String... path)Returns the topN child labels under the specified path.
-
-
-
Constructor Detail
-
DoubleRangeFacetCounts
public DoubleRangeFacetCounts(java.lang.String field, FacetsCollector hits, DoubleRange... ranges) throws java.io.IOExceptionCreateRangeFacetCounts, usingDoubleFieldSourcefrom the specified field.- Throws:
java.io.IOException
-
DoubleRangeFacetCounts
public DoubleRangeFacetCounts(java.lang.String field, ValueSource valueSource, FacetsCollector hits, DoubleRange... ranges) throws java.io.IOExceptionCreateRangeFacetCounts, using the providedValueSource.- Throws:
java.io.IOException
-
DoubleRangeFacetCounts
public DoubleRangeFacetCounts(java.lang.String field, ValueSource valueSource, FacetsCollector hits, Filter fastMatchFilter, DoubleRange... ranges) throws java.io.IOExceptionCreateRangeFacetCounts, using the providedValueSource, 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 (implementDocIdSet.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:FacetsReturns 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:
getTopChildrenin classFacets
-
getSpecificValue
public java.lang.Number getSpecificValue(java.lang.String dim, java.lang.String... path) throws java.io.IOExceptionDescription copied from class:FacetsReturn the count or value for a specific path. Returns -1 if this path doesn't exist, else the count.- Specified by:
getSpecificValuein classFacets- Throws:
java.io.IOException
-
getAllDims
public java.util.List<FacetResult> getAllDims(int topN) throws java.io.IOException
Description copied from class:FacetsReturns 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:
getAllDimsin classFacets- Throws:
java.io.IOException
-
-