Lucene++ - a full-featured, c++ search engine
API Documentation
See the description in BooleanScorer, comparing BooleanScorer & BooleanScorer2. More...
#include <BooleanScorer2.h>
Public Member Functions | |
BooleanScorer2 (const SimilarityPtr &similarity, int32_t minNrShouldMatch, Collection< ScorerPtr > required, Collection< ScorerPtr > prohibited, Collection< ScorerPtr > optional) | |
Creates a Scorer with the given similarity and lists of required, prohibited and optional scorers. In no required scorers are added, at least one of the optional scorers will have to match during the search. | |
virtual | ~BooleanScorer2 () |
virtual String | getClassName () |
boost::shared_ptr< BooleanScorer2 > | shared_from_this () |
virtual void | initialize () |
Called directly after instantiation to create objects that depend on this object being fully constructed. | |
virtual void | score (const CollectorPtr &collector) |
Scores and collects all matching documents. | |
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. | |
virtual int32_t | docID () |
Returns the following: | |
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. | |
virtual double | score () |
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 . | |
virtual int32_t | advance (int32_t target) |
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. | |
![]() | |
Scorer (const SimilarityPtr &similarity) | |
Constructs a Scorer. | |
Scorer (const WeightPtr &weight) | |
virtual | ~Scorer () |
boost::shared_ptr< Scorer > | shared_from_this () |
SimilarityPtr | getSimilarity () |
Returns the Similarity implementation used by this scorer. | |
void | visitSubScorers (QueryPtr parent, BooleanClause::Occur relationship, ScorerVisitor *visitor) |
void | visitScorers (ScorerVisitor *visitor) |
virtual float | termFreq () |
![]() | |
virtual | ~DocIdSetIterator () |
boost::shared_ptr< DocIdSetIterator > | shared_from_this () |
![]() | |
virtual | ~LuceneObject () |
virtual LuceneObjectPtr | clone (const LuceneObjectPtr &other=LuceneObjectPtr()) |
Return clone of this object. | |
virtual int32_t | hashCode () |
Return hash code for this object. | |
virtual bool | equals (const LuceneObjectPtr &other) |
Return whether two objects are equal. | |
virtual int32_t | compareTo (const LuceneObjectPtr &other) |
Compare two objects. | |
virtual String | toString () |
Returns a string representation of the object. | |
![]() | |
virtual | ~LuceneSync () |
virtual SynchronizePtr | getSync () |
Return this object synchronize lock. | |
virtual LuceneSignalPtr | getSignal () |
Return this object signal. | |
virtual void | lock (int32_t timeout=0) |
Lock this object using an optional timeout. | |
virtual void | unlock () |
Unlock this object. | |
virtual bool | holdsLock () |
Returns true if this object is currently locked by current thread. | |
virtual void | wait (int32_t timeout=0) |
Wait for signal using an optional timeout. | |
virtual void | notifyAll () |
Notify all threads waiting for signal. | |
Static Public Member Functions | |
static String | _getClassName () |
![]() | |
static String | _getClassName () |
![]() | |
static String | _getClassName () |
Protected Member Functions | |
ScorerPtr | countingDisjunctionSumScorer (Collection< ScorerPtr > scorers, int32_t minNrShouldMatch) |
ScorerPtr | countingConjunctionSumScorer (Collection< ScorerPtr > requiredScorers) |
ScorerPtr | dualConjunctionSumScorer (const ScorerPtr &req1, const ScorerPtr &req2) |
ScorerPtr | makeCountingSumScorer () |
Returns the scorer to be used for match counting and score summing. Uses requiredScorers, optionalScorers and prohibitedScorers. | |
ScorerPtr | makeCountingSumScorerNoReq () |
ScorerPtr | makeCountingSumScorerSomeReq () |
ScorerPtr | addProhibitedScorers (const ScorerPtr &requiredCountingSumScorer) |
Returns the scorer to be used for match counting and score summing. Uses the given required scorer and the prohibitedScorers. | |
![]() | |
LuceneObject () | |
Protected Attributes | |
Collection< ScorerPtr > | requiredScorers |
Collection< ScorerPtr > | optionalScorers |
Collection< ScorerPtr > | prohibitedScorers |
CoordinatorPtr | coordinator |
ScorerPtr | countingSumScorer |
The scorer to which all scoring will be delegated, except for computing and using the coordination factor. | |
int32_t | minNrShouldMatch |
int32_t | doc |
![]() | |
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. | |
See the description in BooleanScorer, comparing BooleanScorer & BooleanScorer2.
An alternative to BooleanScorer that also allows a minimum number of optional scorers that should match. Implements skipTo(), and has no limitations on the numbers of added scorers. Uses ConjunctionScorer, DisjunctionScorer, ReqOptScorer and ReqExclScorer.
Lucene::BooleanScorer2::BooleanScorer2 | ( | const SimilarityPtr & | similarity, |
int32_t | minNrShouldMatch, | ||
Collection< ScorerPtr > | required, | ||
Collection< ScorerPtr > | prohibited, | ||
Collection< ScorerPtr > | optional | ||
) |
Creates a Scorer
with the given similarity and lists of required, prohibited and optional scorers. In no required scorers are added, at least one of the optional scorers will have to match during the search.
similarity | The similarity to be used. |
minNrShouldMatch | The minimum number of optional added scorers that should match during the search. In case no required scorers are added, at least one of the optional scorers will have to match during the search. |
required | The list of required scorers. |
prohibited | The list of prohibited scorers. |
optional | The list of optional scorers. |
|
virtual |
|
inlinestatic |
|
protected |
Returns the scorer to be used for match counting and score summing. Uses the given required scorer and the prohibitedScorers.
requiredCountingSumScorer | A required scorer already built. |
|
virtual |
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.
Behaves as if written:
int32_t advance(int32_t target) { int32_t doc; while ((doc = nextDoc()) < target) { } return doc; }
Some implementations are considerably more efficient than that.
NOTE: certain implementations may return a different value (each time) if called several times in a row with the same target.
NOTE: this method may be called with {@value NO_MORE_DOCS} for efficiency by some Scorers. If your implementation cannot efficiently determine that it should exhaust, it is recommended that you check for that value in each call to this method.
NOTE: after the iterator has exhausted you should not call this method, as it may result in unpredicted behaviour.
Implements Lucene::DocIdSetIterator.
|
protected |
|
protected |
|
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.
|
protected |
|
inlinevirtual |
Reimplemented from Lucene::Scorer.
|
virtual |
Called directly after instantiation to create objects that depend on this object being fully constructed.
Reimplemented from Lucene::LuceneObject.
|
protected |
Returns the scorer to be used for match counting and score summing. Uses requiredScorers, optionalScorers and prohibitedScorers.
|
protected |
|
protected |
|
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.
|
virtual |
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
.
Implements Lucene::Scorer.
|
virtual |
Scores and collects all matching documents.
collector | The collector to which all matching documents are passed through. |
Reimplemented from Lucene::Scorer.
|
virtual |
Collects matching documents in a range. Hook for optimization. Note, firstDocID is added to ensure that nextDoc()
was called before this method.
collector | The collector to which all matching documents are passed. |
max | Do not score documents past this. |
firstDocID | The first document ID (ensures nextDoc() is called before this method. |
Reimplemented from Lucene::Scorer.
|
inline |
|
protected |
|
protected |
The scorer to which all scoring will be delegated, except for computing and using the coordination factor.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |