Lucene++ - a full-featured, c++ search engine
API Documentation
A Scorer for OR like queries, counterpart of ConjunctionScorer. This Scorer implements Scorer#skipTo(int32_t)
and uses skipTo() on the given Scorers.
More...
#include <DisjunctionSumScorer.h>
Public Member Functions | |
DisjunctionSumScorer (Collection< ScorerPtr > subScorers, int32_t minimumNrMatchers=1) | |
virtual | ~DisjunctionSumScorer () |
virtual String | getClassName () |
boost::shared_ptr< DisjunctionSumScorer > | shared_from_this () |
virtual void | initialize () |
Called directly after instantiation to create objects that depend on this object being fully constructed. More... | |
virtual void | score (const CollectorPtr &collector) |
Scores and collects all matching documents. More... | |
virtual int32_t | nextDoc () |
Advances to the next document in the set and returns the doc it is currently on, or NO_MORE_DOCS if there are no more docs in the set. More... | |
virtual double | score () |
Returns the score of the current document matching the query. Initially invalid, until next() is called the first time. More... | |
virtual int32_t | docID () |
Returns the following: More... | |
int32_t | nrMatchers () |
Returns the number of subscorers matching the current document. Initially invalid, until next() is called the first time. More... | |
virtual int32_t | advance (int32_t target) |
Advances to the first match beyond the current whose document number is greater than or equal to a given target. The implementation uses the skipTo() method on the subscorers. More... | |
![]() | |
Scorer (const SimilarityPtr &similarity) | |
Constructs a Scorer. More... | |
Scorer (const WeightPtr &weight) | |
virtual | ~Scorer () |
virtual String | getClassName () |
boost::shared_ptr< Scorer > | shared_from_this () |
SimilarityPtr | getSimilarity () |
Returns the Similarity implementation used by this scorer. More... | |
virtual void | score (const CollectorPtr &collector) |
Scores and collects all matching documents. More... | |
virtual double | score ()=0 |
Returns the score of the current document matching the query. Initially invalid, until nextDoc() or advance(int32_t) is called the first time, or when called from within Collector#collect . More... | |
void | visitSubScorers (QueryPtr parent, BooleanClause::Occur relationship, ScorerVisitor *visitor) |
void | visitScorers (ScorerVisitor *visitor) |
virtual float | termFreq () |
![]() | |
virtual | ~DocIdSetIterator () |
virtual String | getClassName () |
boost::shared_ptr< DocIdSetIterator > | shared_from_this () |
virtual int32_t | docID ()=0 |
Returns the following: More... | |
virtual int32_t | nextDoc ()=0 |
Advances to the next document in the set and returns the doc it is currently on, or NO_MORE_DOCS if there are no more docs in the set. More... | |
virtual int32_t | advance (int32_t target)=0 |
Advances to the first beyond the current whose document number is greater than or equal to target. Returns the current document number or NO_MORE_DOCS if there are no more docs in the set. More... | |
![]() | |
virtual | ~LuceneObject () |
virtual void | initialize () |
Called directly after instantiation to create objects that depend on this object being fully constructed. More... | |
virtual LuceneObjectPtr | clone (const LuceneObjectPtr &other=LuceneObjectPtr()) |
Return clone of this object. More... | |
virtual int32_t | hashCode () |
Return hash code for this object. More... | |
virtual bool | equals (const LuceneObjectPtr &other) |
Return whether two objects are equal. More... | |
virtual int32_t | compareTo (const LuceneObjectPtr &other) |
Compare two objects. More... | |
virtual String | toString () |
Returns a string representation of the object. More... | |
![]() | |
virtual | ~LuceneSync () |
virtual SynchronizePtr | getSync () |
Return this object synchronize lock. More... | |
virtual LuceneSignalPtr | getSignal () |
Return this object signal. More... | |
virtual void | lock (int32_t timeout=0) |
Lock this object using an optional timeout. More... | |
virtual void | unlock () |
Unlock this object. More... | |
virtual bool | holdsLock () |
Returns true if this object is currently locked by current thread. More... | |
virtual void | wait (int32_t timeout=0) |
Wait for signal using an optional timeout. More... | |
virtual void | notifyAll () |
Notify all threads waiting for signal. More... | |
Static Public Member Functions | |
static String | _getClassName () |
![]() | |
static String | _getClassName () |
![]() | |
static String | _getClassName () |
Protected Member Functions | |
void | initScorerDocQueue () |
Called the first time next() or skipTo() is called to initialize scorerDocQueue. More... | |
virtual bool | score (const CollectorPtr &collector, int32_t max, int32_t firstDocID) |
Collects matching documents in a range. Hook for optimization. Note that next() must be called once before this method is called for the first time. More... | |
bool | advanceAfterCurrent () |
Advance all subscorers after the current document determined by the top of the scorerDocQueue. Repeat until at least the minimum number of subscorers match on the same document and all subscorers are after that document or are exhausted. On entry the scorerDocQueue has at least minimumNrMatchers available. At least the scorer with the minimum document number will be advanced. More... | |
virtual bool | score (const CollectorPtr &collector, int32_t max, int32_t firstDocID) |
Collects matching documents in a range. Hook for optimization. Note, firstDocID is added to ensure that nextDoc() was called before this method. More... | |
![]() | |
LuceneObject () | |
Protected Attributes | |
int32_t | nrScorers |
The number of subscorers. More... | |
Collection< ScorerPtr > | subScorers |
The subscorers. More... | |
int32_t | minimumNrMatchers |
The minimum number of scorers that should match. More... | |
ScorerDocQueuePtr | scorerDocQueue |
The scorerDocQueue contains all subscorers ordered by their current doc(), with the minimum at the top. The scorerDocQueue is initialized the first time next() or skipTo() is called. An exhausted scorer is immediately removed from the scorerDocQueue. If less than the minimumNrMatchers scorers remain in the scorerDocQueue next() and skipTo() return false. More... | |
int32_t | currentDoc |
The document number of the current match. More... | |
int32_t | _nrMatchers |
The number of subscorers that provide the current match. More... | |
double | currentScore |
![]() | |
SimilarityPtr | similarity |
![]() | |
SynchronizePtr | objectLock |
LuceneSignalPtr | objectSignal |
Additional Inherited Members | |
![]() | |
WeightPtr | weight |
![]() | |
static const int32_t | NO_MORE_DOCS |
When returned by nextDoc() , advance(int) and docID() it means there are no more docs in the iterator. More... | |
A Scorer for OR like queries, counterpart of ConjunctionScorer. This Scorer implements Scorer#skipTo(int32_t)
and uses skipTo() on the given Scorers.
Lucene::DisjunctionSumScorer::DisjunctionSumScorer | ( | Collection< ScorerPtr > | subScorers, |
int32_t | minimumNrMatchers = 1 |
||
) |
|
virtual |
|
inlinestatic |
|
virtual |
Advances to the first match beyond the current whose document number is greater than or equal to a given target. The implementation uses the skipTo() method on the subscorers.
target | The target document number. |
Implements Lucene::DocIdSetIterator.
|
protected |
Advance all subscorers after the current document determined by the top of the scorerDocQueue. Repeat until at least the minimum number of subscorers match on the same document and all subscorers are after that document or are exhausted. On entry the scorerDocQueue has at least minimumNrMatchers available. At least the scorer with the minimum document number will be advanced.
|
virtual |
Returns the following:
NO_MORE_DOCS
if nextDoc()
or advance(int)
were not called yet. NO_MORE_DOCS
if the iterator has exhausted. Implements Lucene::DocIdSetIterator.
|
inlinevirtual |
Reimplemented from Lucene::Scorer.
Reimplemented in Lucene::CountingDisjunctionSumScorer.
|
virtual |
Called directly after instantiation to create objects that depend on this object being fully constructed.
Reimplemented from Lucene::LuceneObject.
|
protected |
Called the first time next() or skipTo() is called to initialize scorerDocQueue.
|
virtual |
Advances to the next document in the set and returns the doc it is currently on, or NO_MORE_DOCS
if there are no more docs in the set.
NOTE: after the iterator has exhausted you should not call this method, as it may result in unpredicted behaviour.
Implements Lucene::DocIdSetIterator.
int32_t Lucene::DisjunctionSumScorer::nrMatchers | ( | ) |
Returns the number of subscorers matching the current document. Initially invalid, until next()
is called the first time.
|
virtual |
Returns the score of the current document matching the query. Initially invalid, until next()
is called the first time.
Implements Lucene::Scorer.
Reimplemented in Lucene::CountingDisjunctionSumScorer.
|
virtual |
Scores and collects all matching documents.
collector | The collector to which all matching documents are passed. |
Reimplemented from Lucene::Scorer.
|
protectedvirtual |
Collects matching documents in a range. Hook for optimization. Note that next()
must be called once before this method is called for the first time.
collector | The collector to which all matching documents are passed through. |
max | Do not score documents past this. |
Reimplemented from Lucene::Scorer.
|
inline |
|
protected |
The number of subscorers that provide the current match.
|
protected |
The document number of the current match.
|
protected |
|
protected |
The minimum number of scorers that should match.
|
protected |
The number of subscorers.
|
protected |
The scorerDocQueue contains all subscorers ordered by their current doc(), with the minimum at the top. The scorerDocQueue is initialized the first time next() or skipTo() is called. An exhausted scorer is immediately removed from the scorerDocQueue. If less than the minimumNrMatchers scorers remain in the scorerDocQueue next() and skipTo() return false.
After each to call to next() or skipTo() currentSumScore is the total score of the current matching doc, nrMatchers is the number of matching scorers, and all scorers are after the matching doc, or are exhausted.
|
protected |
The subscorers.