org.apache.lucene.facet.range
Class LongRangeFacetCounts

java.lang.Object
  extended by org.apache.lucene.facet.Facets
      extended by org.apache.lucene.facet.range.LongRangeFacetCounts

public class LongRangeFacetCounts
extends Facets

Facets implementation that computes counts for dynamic long ranges from a provided ValueSource, using FunctionValues.longVal(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.).

WARNING: This API is experimental and might change in incompatible ways in the next release.

Field Summary
protected  int[] counts
          Counts, initialized in by subclass.
protected  Filter fastMatchFilter
          Optional: if specified, we first test this Filter 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 Summary
LongRangeFacetCounts(String field, FacetsCollector hits, LongRange... ranges)
          Create LongRangeFacetCounts, using LongFieldSource from the specified field.
LongRangeFacetCounts(String field, ValueSource valueSource, FacetsCollector hits, Filter fastMatchFilter, LongRange... ranges)
          Create RangeFacetCounts, using the provided ValueSource, and using the provided Filter as a fastmatch: only documents passing the filter are checked for the matching ranges.
LongRangeFacetCounts(String field, ValueSource valueSource, FacetsCollector hits, LongRange... ranges)
          Create RangeFacetCounts, using the provided ValueSource.
 
Method Summary
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ranges

protected final Range[] ranges
Ranges passed to constructor.


counts

protected final int[] counts
Counts, initialized in by subclass.


fastMatchFilter

protected final Filter fastMatchFilter
Optional: if specified, we first test this Filter to see whether the document should be checked for matching ranges. If this is null, all documents are checked.


field

protected final String field
Our field name.


totCount

protected int totCount
Total number of hits.

Constructor Detail

LongRangeFacetCounts

public LongRangeFacetCounts(String field,
                            FacetsCollector hits,
                            LongRange... ranges)
                     throws IOException
Create LongRangeFacetCounts, using LongFieldSource from the specified field.

Throws:
IOException

LongRangeFacetCounts

public LongRangeFacetCounts(String field,
                            ValueSource valueSource,
                            FacetsCollector hits,
                            LongRange... ranges)
                     throws IOException
Create RangeFacetCounts, using the provided ValueSource.

Throws:
IOException

LongRangeFacetCounts

public LongRangeFacetCounts(String field,
                            ValueSource valueSource,
                            FacetsCollector hits,
                            Filter fastMatchFilter,
                            LongRange... ranges)
                     throws IOException
Create RangeFacetCounts, using the provided ValueSource, 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 (implement DocIdSet.bits()).

Throws:
IOException
Method Detail

getTopChildren

public FacetResult getTopChildren(int topN,
                                  String dim,
                                  String... path)
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 class Facets

getSpecificValue

public Number getSpecificValue(String dim,
                               String... path)
                        throws IOException
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 class Facets
Throws:
IOException

getAllDims

public List<FacetResult> getAllDims(int topN)
                             throws IOException
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 class Facets
Throws:
IOException


Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.