org.apache.lucene.facet.sortedset
Class SortedSetDocValuesFacetCounts

java.lang.Object
  extended by org.apache.lucene.facet.Facets
      extended by org.apache.lucene.facet.sortedset.SortedSetDocValuesFacetCounts

public class SortedSetDocValuesFacetCounts
extends Facets

Compute facets counts from previously indexed SortedSetDocValuesFacetField, without require a separate taxonomy index. Faceting is a bit slower (~25%), and there is added cost on every IndexReader open to create a new SortedSetDocValuesReaderState. Furthermore, this does not support hierarchical facets; only flat (dimension + label) facets, but it uses quite a bit less RAM to do so.

NOTE: this class should be instantiated and then used from a single thread, because it holds a thread-private instance of SortedSetDocValues.

NOTE:: tie-break is by unicode sort order

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

Constructor Summary
SortedSetDocValuesFacetCounts(SortedSetDocValuesReaderState state, FacetsCollector hits)
          Sparse faceting: returns any dimension that had any hits, topCount labels per dimension.
 
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
 

Constructor Detail

SortedSetDocValuesFacetCounts

public SortedSetDocValuesFacetCounts(SortedSetDocValuesReaderState state,
                                     FacetsCollector hits)
                              throws IOException
Sparse faceting: returns any dimension that had any hits, topCount labels per dimension.

Throws:
IOException
Method Detail

getTopChildren

public FacetResult getTopChildren(int topN,
                                  String dim,
                                  String... path)
                           throws IOException
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
Throws:
IOException

getSpecificValue

public Number getSpecificValue(String dim,
                               String... path)
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

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.