Lucene++ - a full-featured, c++ search engine
API Documentation


Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
Lucene::BooleanScorer2 Class Reference

See the description in BooleanScorer, comparing BooleanScorer & BooleanScorer2. More...

#include <BooleanScorer2.h>

+ Inheritance diagram for Lucene::BooleanScorer2:

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< BooleanScorer2shared_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.
 
- Public Member Functions inherited from Lucene::Scorer
 Scorer (const SimilarityPtr &similarity)
 Constructs a Scorer.
 
 Scorer (const WeightPtr &weight)
 
virtual ~Scorer ()
 
boost::shared_ptr< Scorershared_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 ()
 
- Public Member Functions inherited from Lucene::DocIdSetIterator
virtual ~DocIdSetIterator ()
 
boost::shared_ptr< DocIdSetIteratorshared_from_this ()
 
- Public Member Functions inherited from Lucene::LuceneObject
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.
 
- Public Member Functions inherited from Lucene::LuceneSync
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 Public Member Functions inherited from Lucene::Scorer
static String _getClassName ()
 
- Static Public Member Functions inherited from Lucene::DocIdSetIterator
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.
 
- Protected Member Functions inherited from Lucene::LuceneObject
 LuceneObject ()
 

Protected Attributes

Collection< ScorerPtrrequiredScorers
 
Collection< ScorerPtroptionalScorers
 
Collection< ScorerPtrprohibitedScorers
 
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
 
- Protected Attributes inherited from Lucene::Scorer
SimilarityPtr similarity
 
- Protected Attributes inherited from Lucene::LuceneSync
SynchronizePtr objectLock
 
LuceneSignalPtr objectSignal
 

Additional Inherited Members

- Data Fields inherited from Lucene::Scorer
WeightPtr weight
 
- Static Public Attributes inherited from Lucene::DocIdSetIterator
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.
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ BooleanScorer2()

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.

Parameters
similarityThe similarity to be used.
minNrShouldMatchThe 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.
requiredThe list of required scorers.
prohibitedThe list of prohibited scorers.
optionalThe list of optional scorers.

◆ ~BooleanScorer2()

virtual Lucene::BooleanScorer2::~BooleanScorer2 ( )
virtual

Member Function Documentation

◆ _getClassName()

static String Lucene::BooleanScorer2::_getClassName ( )
inlinestatic

◆ addProhibitedScorers()

ScorerPtr Lucene::BooleanScorer2::addProhibitedScorers ( const ScorerPtr requiredCountingSumScorer)
protected

Returns the scorer to be used for match counting and score summing. Uses the given required scorer and the prohibitedScorers.

Parameters
requiredCountingSumScorerA required scorer already built.

◆ advance()

virtual int32_t Lucene::BooleanScorer2::advance ( int32_t  target)
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.

◆ countingConjunctionSumScorer()

ScorerPtr Lucene::BooleanScorer2::countingConjunctionSumScorer ( Collection< ScorerPtr requiredScorers)
protected

◆ countingDisjunctionSumScorer()

ScorerPtr Lucene::BooleanScorer2::countingDisjunctionSumScorer ( Collection< ScorerPtr scorers,
int32_t  minNrShouldMatch 
)
protected

◆ docID()

virtual int32_t Lucene::BooleanScorer2::docID ( )
virtual

Returns the following:

Implements Lucene::DocIdSetIterator.

◆ dualConjunctionSumScorer()

ScorerPtr Lucene::BooleanScorer2::dualConjunctionSumScorer ( const ScorerPtr req1,
const ScorerPtr req2 
)
protected

◆ getClassName()

virtual String Lucene::BooleanScorer2::getClassName ( )
inlinevirtual

Reimplemented from Lucene::Scorer.

◆ initialize()

virtual void Lucene::BooleanScorer2::initialize ( )
virtual

Called directly after instantiation to create objects that depend on this object being fully constructed.

Reimplemented from Lucene::LuceneObject.

◆ makeCountingSumScorer()

ScorerPtr Lucene::BooleanScorer2::makeCountingSumScorer ( )
protected

Returns the scorer to be used for match counting and score summing. Uses requiredScorers, optionalScorers and prohibitedScorers.

◆ makeCountingSumScorerNoReq()

ScorerPtr Lucene::BooleanScorer2::makeCountingSumScorerNoReq ( )
protected

◆ makeCountingSumScorerSomeReq()

ScorerPtr Lucene::BooleanScorer2::makeCountingSumScorerSomeReq ( )
protected

◆ nextDoc()

virtual int32_t Lucene::BooleanScorer2::nextDoc ( )
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.

◆ score() [1/3]

virtual double Lucene::BooleanScorer2::score ( )
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.

◆ score() [2/3]

virtual void Lucene::BooleanScorer2::score ( const CollectorPtr collector)
virtual

Scores and collects all matching documents.

Parameters
collectorThe collector to which all matching documents are passed through.

Reimplemented from Lucene::Scorer.

◆ score() [3/3]

virtual bool Lucene::BooleanScorer2::score ( const CollectorPtr collector,
int32_t  max,
int32_t  firstDocID 
)
virtual

Collects matching documents in a range. Hook for optimization. Note, firstDocID is added to ensure that nextDoc() was called before this method.

Parameters
collectorThe collector to which all matching documents are passed.
maxDo not score documents past this.
firstDocIDThe first document ID (ensures nextDoc() is called before this method.
Returns
true if more matching documents may remain.

Reimplemented from Lucene::Scorer.

◆ shared_from_this()

boost::shared_ptr< BooleanScorer2 > Lucene::BooleanScorer2::shared_from_this ( )
inline

Field Documentation

◆ coordinator

CoordinatorPtr Lucene::BooleanScorer2::coordinator
protected

◆ countingSumScorer

ScorerPtr Lucene::BooleanScorer2::countingSumScorer
protected

The scorer to which all scoring will be delegated, except for computing and using the coordination factor.

◆ doc

int32_t Lucene::BooleanScorer2::doc
protected

◆ minNrShouldMatch

int32_t Lucene::BooleanScorer2::minNrShouldMatch
protected

◆ optionalScorers

Collection<ScorerPtr> Lucene::BooleanScorer2::optionalScorers
protected

◆ prohibitedScorers

Collection<ScorerPtr> Lucene::BooleanScorer2::prohibitedScorers
protected

◆ requiredScorers

Collection<ScorerPtr> Lucene::BooleanScorer2::requiredScorers
protected

The documentation for this class was generated from the following file:

clucene.sourceforge.net