Package org.apache.lucene.facet.range
Class DoubleRangeFacetCounts
java.lang.Object
org.apache.lucene.facet.Facets
org.apache.lucene.facet.range.DoubleRangeFacetCounts
Facets implementation that computes counts for
dynamic double ranges from a provided ValueSource, using FunctionValues.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, "invalid input: '<' 1 km", "invalid input: '<' 2 km",
etc.).
If you had indexed your field using FloatDocValuesField then pass FloatFieldSource
as the ValueSource; if you used DoubleDocValuesField then pass DoubleFieldSource (this is the default used when you
pass just a the field name).
-
Constructor Summary
ConstructorsConstructorDescriptionDoubleRangeFacetCounts(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
Modifier and TypeMethodDescriptiongetAllDims(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.
-
Constructor Details
-
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 Details
-
getTopChildren
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
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
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
-