public class FacetsCollector extends SimpleCollector implements Collector
Modifier and Type | Class and Description |
---|---|
protected static class |
FacetsCollector.Docs
Used during collection to record matching docs and then return a
DocIdSet that contains them. |
static class |
FacetsCollector.MatchingDocs
Holds the documents that were matched in the
LeafReaderContext . |
Constructor and Description |
---|
FacetsCollector()
Default constructor
|
FacetsCollector(boolean keepScores)
Create this; if
keepScores is true then a
float[] is allocated to hold score of all hits. |
Modifier and Type | Method and Description |
---|---|
void |
collect(int doc)
Called once for every document matching a query, with the unbased document
number.
|
protected FacetsCollector.Docs |
createDocs(int maxDoc)
Creates a
FacetsCollector.Docs to record hits. |
protected void |
doSetNextReader(LeafReaderContext context)
This method is called before collecting
context . |
boolean |
getKeepScores()
True if scores were saved.
|
List<FacetsCollector.MatchingDocs> |
getMatchingDocs()
Returns the documents matched by the query, one
FacetsCollector.MatchingDocs per
visited segment. |
boolean |
needsScores()
Indicates if document scores are needed by this collector.
|
static TopDocs |
search(IndexSearcher searcher,
Query q,
int n,
Collector fc)
Utility method, to search and also collect all hits
into the provided
Collector . |
static TopFieldDocs |
search(IndexSearcher searcher,
Query q,
int n,
Sort sort,
boolean doDocScores,
boolean doMaxScore,
Collector fc)
Utility method, to search and also collect all hits
into the provided
Collector . |
static TopFieldDocs |
search(IndexSearcher searcher,
Query q,
int n,
Sort sort,
Collector fc)
Utility method, to search and also collect all hits
into the provided
Collector . |
static TopDocs |
searchAfter(IndexSearcher searcher,
ScoreDoc after,
Query q,
int n,
Collector fc)
Utility method, to search and also collect all hits
into the provided
Collector . |
static TopDocs |
searchAfter(IndexSearcher searcher,
ScoreDoc after,
Query q,
int n,
Sort sort,
boolean doDocScores,
boolean doMaxScore,
Collector fc)
Utility method, to search and also collect all hits
into the provided
Collector . |
static TopDocs |
searchAfter(IndexSearcher searcher,
ScoreDoc after,
Query q,
int n,
Sort sort,
Collector fc)
Utility method, to search and also collect all hits
into the provided
Collector . |
void |
setScorer(Scorer scorer)
Called before successive calls to
LeafCollector.collect(int) . |
getLeafCollector
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getLeafCollector
public FacetsCollector()
public FacetsCollector(boolean keepScores)
keepScores
is true then a
float[] is allocated to hold score of all hits.protected FacetsCollector.Docs createDocs(int maxDoc)
FacetsCollector.Docs
to record hits. The default uses FixedBitSet
to record hits and you can override to e.g. record the docs in your own
DocIdSet
.public final boolean getKeepScores()
public List<FacetsCollector.MatchingDocs> getMatchingDocs()
FacetsCollector.MatchingDocs
per
visited segment.public final void collect(int doc) throws IOException
LeafCollector
Note: The collection of the current segment can be terminated by throwing
a CollectionTerminatedException
. In this case, the last docs of the
current LeafReaderContext
will be skipped and IndexSearcher
will swallow the exception and continue collection with the next leaf.
Note: This is called in an inner search loop. For good search performance,
implementations of this method should not call IndexSearcher.doc(int)
or
IndexReader.document(int)
on every hit.
Doing so can slow searches by an order of magnitude or more.
collect
in interface LeafCollector
collect
in class SimpleCollector
IOException
public boolean needsScores()
Collector
needsScores
in interface Collector
true
if scores are needed.public final void setScorer(Scorer scorer) throws IOException
LeafCollector
LeafCollector.collect(int)
. Implementations
that need the score of the current document (passed-in to
LeafCollector.collect(int)
), should save the passed-in Scorer and call
scorer.score() when needed.setScorer
in interface LeafCollector
setScorer
in class SimpleCollector
IOException
protected void doSetNextReader(LeafReaderContext context) throws IOException
SimpleCollector
context
.doSetNextReader
in class SimpleCollector
IOException
public static TopDocs search(IndexSearcher searcher, Query q, int n, Collector fc) throws IOException
Collector
.IOException
public static TopFieldDocs search(IndexSearcher searcher, Query q, int n, Sort sort, Collector fc) throws IOException
Collector
.IOException
public static TopFieldDocs search(IndexSearcher searcher, Query q, int n, Sort sort, boolean doDocScores, boolean doMaxScore, Collector fc) throws IOException
Collector
.IOException
public static TopDocs searchAfter(IndexSearcher searcher, ScoreDoc after, Query q, int n, Collector fc) throws IOException
Collector
.IOException
public static TopDocs searchAfter(IndexSearcher searcher, ScoreDoc after, Query q, int n, Sort sort, Collector fc) throws IOException
Collector
.IOException
public static TopDocs searchAfter(IndexSearcher searcher, ScoreDoc after, Query q, int n, Sort sort, boolean doDocScores, boolean doMaxScore, Collector fc) throws IOException
Collector
.IOException
Copyright © 2000–2015 The Apache Software Foundation. All rights reserved.