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(String field, FacetsCollector hits, DoubleRange... ranges)CreateRangeFacetCounts, usingDoubleFieldSourcefrom the specified field.DoubleRangeFacetCounts(String field, ValueSource valueSource, FacetsCollector hits, DoubleRange... ranges)CreateRangeFacetCounts, using the providedValueSource.DoubleRangeFacetCounts(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 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.NumbergetSpecificValue(String dim, String... path)Return the count or value for a specific path.FacetResultgetTopChildren(int topN, String dim, String... path)Returns the topN child labels under the specified path.
-
-
-
Constructor Detail
-
DoubleRangeFacetCounts
public DoubleRangeFacetCounts(String field, FacetsCollector hits, DoubleRange... ranges) throws IOException
CreateRangeFacetCounts, usingDoubleFieldSourcefrom the specified field.- Throws:
IOException
-
DoubleRangeFacetCounts
public DoubleRangeFacetCounts(String field, ValueSource valueSource, FacetsCollector hits, DoubleRange... ranges) throws IOException
CreateRangeFacetCounts, using the providedValueSource.- Throws:
IOException
-
DoubleRangeFacetCounts
public DoubleRangeFacetCounts(String field, ValueSource valueSource, FacetsCollector hits, Filter fastMatchFilter, DoubleRange... ranges) throws IOException
CreateRangeFacetCounts, 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:
IOException
-
-
Method Detail
-
getTopChildren
public FacetResult getTopChildren(int topN, String dim, 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 Number getSpecificValue(String dim, String... path) throws IOException
Description 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:
IOException
-
getAllDims
public List<FacetResult> getAllDims(int topN) throws 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:
IOException
-
-