org.apache.lucene.facet.search
Class FacetsCollector

java.lang.Object
  extended by org.apache.lucene.search.Collector
      extended by org.apache.lucene.facet.search.FacetsCollector

public class FacetsCollector
extends org.apache.lucene.search.Collector

Collector for facet accumulation. *

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

Field Summary
protected  FacetsAccumulator facetsAccumulator
           
 
Constructor Summary
FacetsCollector(FacetSearchParams facetSearchParams, org.apache.lucene.index.IndexReader indexReader, TaxonomyReader taxonomyReader)
          Create a collector for accumulating facets while collecting documents during search.
 
Method Summary
 boolean acceptsDocsOutOfOrder()
           
 void collect(int doc)
           
 List<FacetResult> getFacetResults()
          Return accumulated facets results (according to faceted search parameters) for collected documents.
protected  FacetsAccumulator initFacetsAccumulator(FacetSearchParams facetSearchParams, org.apache.lucene.index.IndexReader indexReader, TaxonomyReader taxonomyReader)
          Create the FacetsAccumulator to be used.
protected  ScoredDocIdCollector initScoredDocCollector(FacetSearchParams facetSearchParams, org.apache.lucene.index.IndexReader indexReader, TaxonomyReader taxonomyReader)
          Create a ScoredDocIdCollector to be used as the first phase of the facet collection.
 void setNextReader(org.apache.lucene.index.IndexReader reader, int docBase)
           
 void setScorer(org.apache.lucene.search.Scorer scorer)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

facetsAccumulator

protected final FacetsAccumulator facetsAccumulator
Constructor Detail

FacetsCollector

public FacetsCollector(FacetSearchParams facetSearchParams,
                       org.apache.lucene.index.IndexReader indexReader,
                       TaxonomyReader taxonomyReader)
Create a collector for accumulating facets while collecting documents during search.

Parameters:
facetSearchParams - faceted search parameters defining which facets are required and how.
indexReader - searched index.
taxonomyReader - taxonomy containing the facets.
Method Detail

initScoredDocCollector

protected ScoredDocIdCollector initScoredDocCollector(FacetSearchParams facetSearchParams,
                                                      org.apache.lucene.index.IndexReader indexReader,
                                                      TaxonomyReader taxonomyReader)
Create a ScoredDocIdCollector to be used as the first phase of the facet collection. If all facetRequests are do not require the document score, a ScoredDocIdCollector which does not store the document scores would be returned. Otherwise a SDIC which does store the documents will be returned, having an initial allocated space for 1000 such documents' scores.


initFacetsAccumulator

protected FacetsAccumulator initFacetsAccumulator(FacetSearchParams facetSearchParams,
                                                  org.apache.lucene.index.IndexReader indexReader,
                                                  TaxonomyReader taxonomyReader)
Create the FacetsAccumulator to be used. Default is StandardFacetsAccumulator. Called once at the constructor of the collector.

Parameters:
facetSearchParams - The search params.
indexReader - A reader to the index to search in.
taxonomyReader - A reader to the active taxonomy.
Returns:
The FacetsAccumulator to use.

getFacetResults

public List<FacetResult> getFacetResults()
                                  throws IOException
Return accumulated facets results (according to faceted search parameters) for collected documents.

Throws:
IOException - on error

acceptsDocsOutOfOrder

public boolean acceptsDocsOutOfOrder()
Specified by:
acceptsDocsOutOfOrder in class org.apache.lucene.search.Collector

collect

public void collect(int doc)
             throws IOException
Specified by:
collect in class org.apache.lucene.search.Collector
Throws:
IOException

setNextReader

public void setNextReader(org.apache.lucene.index.IndexReader reader,
                          int docBase)
                   throws IOException
Specified by:
setNextReader in class org.apache.lucene.search.Collector
Throws:
IOException

setScorer

public void setScorer(org.apache.lucene.search.Scorer scorer)
               throws IOException
Specified by:
setScorer in class org.apache.lucene.search.Collector
Throws:
IOException


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