public class DoubleRangeFacetCounts extends Facets
Facets
implementation that computes counts for
dynamic double ranges from a provided DoubleValuesSource
. 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 have indexed your field using FloatDocValuesField
, then you should use a DoubleValuesSource
generated from DoubleValuesSource.fromFloatField(String)
.Modifier and Type | Field and Description |
---|---|
protected int[] |
counts
Counts, initialized in by subclass.
|
protected Query |
fastMatchQuery
Optional: if specified, we first test this Query to
see whether the document should be checked for
matching ranges.
|
protected String |
field
Our field name.
|
protected Range[] |
ranges
Ranges passed to constructor.
|
protected int |
totCount
Total number of hits.
|
Constructor and Description |
---|
DoubleRangeFacetCounts(String field,
DoubleValuesSource valueSource,
FacetsCollector hits,
DoubleRange... ranges)
Create
RangeFacetCounts using the provided DoubleValuesSource |
DoubleRangeFacetCounts(String field,
DoubleValuesSource valueSource,
FacetsCollector hits,
Query fastMatchQuery,
DoubleRange... ranges)
Create
RangeFacetCounts , using the provided
DoubleValuesSource , and using the provided Query as
a fastmatch: only documents matching the query are
checked for the matching ranges. |
DoubleRangeFacetCounts(String field,
FacetsCollector hits,
DoubleRange... ranges)
Create
RangeFacetCounts , using DoubleValues from the specified field. |
Modifier and Type | Method and 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.
|
Number |
getSpecificValue(String dim,
String... path)
Return the count or value
for a specific path.
|
FacetResult |
getTopChildren(int topN,
String dim,
String... path)
Returns the topN child labels under the specified
path.
|
String |
toString() |
protected final Range[] ranges
protected final int[] counts
protected final Query fastMatchQuery
protected final String field
protected int totCount
public DoubleRangeFacetCounts(String field, FacetsCollector hits, DoubleRange... ranges) throws IOException
RangeFacetCounts
, using DoubleValues
from the specified field.
N.B This assumes that the field was indexed with DoubleDocValuesField
.
For float-valued fields, use DoubleRangeFacetCounts(String, DoubleValuesSource, FacetsCollector, DoubleRange...)
IOException
public DoubleRangeFacetCounts(String field, DoubleValuesSource valueSource, FacetsCollector hits, DoubleRange... ranges) throws IOException
RangeFacetCounts
using the provided DoubleValuesSource
IOException
public DoubleRangeFacetCounts(String field, DoubleValuesSource valueSource, FacetsCollector hits, Query fastMatchQuery, DoubleRange... ranges) throws IOException
RangeFacetCounts
, using the provided
DoubleValuesSource
, and using the provided Query as
a fastmatch: only documents matching the query are
checked for the matching ranges.IOException
public FacetResult getTopChildren(int topN, String dim, String... path)
Facets
getTopChildren
in class Facets
public Number getSpecificValue(String dim, String... path) throws IOException
Facets
getSpecificValue
in class Facets
IOException
public List<FacetResult> getAllDims(int topN) throws IOException
Facets
getAllDims
in class Facets
IOException
Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.