Lucene++ - a full-featured, c++ search engine
API Documentation
Scoring functionality for phrase queries. A document is considered matching if it contains the phrase-query terms at "valid" positions. What "valid positions" are depends on the type of the phrase query: for an exact phrase query terms are required to appear in adjacent locations, while for a sloppy phrase query some distance between the terms is allowed. The abstract method phraseFreq() of extending classes is invoked for each document containing all the phrase query terms, in order to compute the frequency of the phrase query in that document. A non zero frequency means a match.
More...
#include <PhraseScorer.h>
Public Member Functions | |
| PhraseScorer (const WeightPtr &weight, Collection< TermPositionsPtr > tps, Collection< int32_t > offsets, const SimilarityPtr &similarity, ByteArray norms) | |
| virtual | ~PhraseScorer () |
| virtual String | getClassName () |
| boost::shared_ptr< PhraseScorer > | shared_from_this () |
| 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. | |
| double | currentFreq () |
| Phrase frequency in current doc as computed by phraseFreq(). | |
| virtual float | termFreq () |
| virtual String | toString () |
| Returns a string representation of the object. | |
| Public Member Functions inherited from Lucene::Scorer | |
| 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. | |
| virtual void | score (const CollectorPtr &collector) |
| Scores and collects all matching documents. | |
| void | visitSubScorers (QueryPtr parent, BooleanClause::Occur relationship, ScorerVisitor *visitor) |
| void | visitScorers (ScorerVisitor *visitor) |
| Public Member Functions inherited from Lucene::DocIdSetIterator | |
| virtual | ~DocIdSetIterator () |
| boost::shared_ptr< DocIdSetIterator > | shared_from_this () |
| Public Member Functions inherited from Lucene::LuceneObject | |
| virtual | ~LuceneObject () |
| virtual void | initialize () |
| Called directly after instantiation to create objects that depend on this object being fully constructed. | |
| 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. | |
| 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 | |
| bool | doNext () |
| Next without initial increment. | |
| virtual double | phraseFreq ()=0 |
| For a document containing all the phrase query terms, compute the frequency of the phrase in that document. A non zero frequency means a match. Note, that containing all phrase terms does not guarantee a match - they have to be found in matching locations. | |
| void | init () |
| void | sort () |
| void | pqToList () |
| void | firstToLast () |
| Protected Member Functions inherited from Lucene::Scorer | |
| 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. | |
| Protected Member Functions inherited from Lucene::LuceneObject | |
| LuceneObject () | |
Protected Attributes | |
| WeightPtr | weight |
| Weight * | __weight = nullptr |
| ByteArray | norms |
| double | value |
| bool | firstTime |
| bool | more |
| PhraseQueuePtr | pq |
| std::vector< PhrasePositionsPtr > | _holds |
| PhrasePositions * | __first = nullptr |
| PhrasePositions * | __last = nullptr |
| double | freq |
| 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. | |
Scoring functionality for phrase queries. A document is considered matching if it contains the phrase-query terms at "valid" positions. What "valid positions" are depends on the type of the phrase query: for an exact phrase query terms are required to appear in adjacent locations, while for a sloppy phrase query some distance between the terms is allowed. The abstract method phraseFreq() of extending classes is invoked for each document containing all the phrase query terms, in order to compute the frequency of the phrase query in that document. A non zero frequency means a match.
| Lucene::PhraseScorer::PhraseScorer | ( | const WeightPtr & | weight, |
| Collection< TermPositionsPtr > | tps, | ||
| Collection< int32_t > | offsets, | ||
| const SimilarityPtr & | similarity, | ||
| ByteArray | norms ) |
References norms, Lucene::Scorer::similarity, and weight.
Referenced by _getClassName().
|
virtual |
|
inlinestatic |
References PhraseScorer().
|
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.
| double Lucene::PhraseScorer::currentFreq | ( | ) |
Phrase frequency in current doc as computed by phraseFreq().
Referenced by termFreq().
|
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 |
Next without initial increment.
|
protected |
|
inlinevirtual |
Reimplemented from Lucene::Scorer.
Reimplemented in Lucene::ExactPhraseScorer, and Lucene::SloppyPhraseScorer.
|
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.
|
protectedpure virtual |
For a document containing all the phrase query terms, compute the frequency of the phrase in that document. A non zero frequency means a match. Note, that containing all phrase terms does not guarantee a match - they have to be found in matching locations.
Implemented in Lucene::ExactPhraseScorer, and Lucene::SloppyPhraseScorer.
|
protected |
|
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.
|
inline |
|
protected |
|
inlinevirtual |
Reimplemented from Lucene::Scorer.
References currentFreq().
|
virtual |
Returns a string representation of the object.
Reimplemented from Lucene::LuceneObject.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |