Lucene++ - a full-featured, c++ search engine
API Documentation
A Spans that is formed from the ordered subspans of a SpanNearQuery where the subspans do not overlap and have a maximum slop between them. More...
#include <NearSpansOrdered.h>
Public Member Functions | |
NearSpansOrdered (const SpanNearQueryPtr &spanNearQuery, const IndexReaderPtr &reader, bool collectPayloads=true) | |
virtual | ~NearSpansOrdered () |
virtual String | getClassName () |
boost::shared_ptr< NearSpansOrdered > | shared_from_this () |
virtual int32_t | doc () |
Returns the document number of the current match. Initially invalid. More... | |
virtual int32_t | start () |
Returns the start position of the current match. Initially invalid. More... | |
virtual int32_t | end () |
Returns the end position of the current match. Initially invalid. More... | |
Collection< SpansPtr > | getSubSpans () |
virtual Collection< ByteArray > | getPayload () |
Returns the payload data for the current span. This is invalid until next() is called for the first time. This method must not be called more than once after each call of next(). However, most payloads are loaded lazily, so if the payload data for the current position is not needed, this method may not be called at all for performance reasons. An ordered SpanQuery does not lazy load, so if you have payloads in your index and you do not want ordered SpanNearQuerys to collect payloads, you can disable collection with a constructor option. More... | |
virtual bool | isPayloadAvailable () |
Checks if a payload can be loaded at this position. More... | |
virtual bool | next () |
Move to the next match, returning true if any such exists. More... | |
virtual bool | skipTo (int32_t target) |
Skips to the first match beyond the current, whose document number is greater than or equal to target. More... | |
virtual String | toString () |
Returns a string representation of the object. More... | |
![]() | |
virtual | ~Spans () |
boost::shared_ptr< Spans > | shared_from_this () |
![]() | |
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 | ~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 bool | docSpansOrdered (const SpansPtr &spans1, const SpansPtr &spans2) |
Check whether two Spans in the same document are ordered. More... | |
![]() | |
static String | _getClassName () |
Protected Member Functions | |
bool | advanceAfterOrdered () |
Advances the subSpans to just after an ordered match with a minimum slop that is smaller than the slop allowed by the SpanNearQuery. More... | |
bool | toSameDoc () |
Advance the subSpans to the same document. More... | |
bool | stretchToOrder () |
Order the subSpans within the same document by advancing all later spans after the previous one. More... | |
bool | shrinkToAfterShortestMatch () |
The subSpans are ordered in the same doc, so there is a possible match. Compute the slop while making the match as short as possible by advancing all subSpans except the last one in reverse order. More... | |
![]() | |
LuceneObject () | |
Static Protected Member Functions | |
static bool | docSpansOrdered (int32_t start1, int32_t end1, int32_t start2, int32_t end2) |
Protected Attributes | |
int32_t | allowedSlop |
bool | firstTime |
bool | more |
Collection< SpansPtr > | subSpans |
The spans in the same order as the SpanNearQuery. More... | |
bool | inSameDoc |
Indicates that all subSpans have same doc() More... | |
int32_t | matchDoc |
int32_t | matchStart |
int32_t | matchEnd |
Collection< ByteArray > | matchPayload |
Collection< SpansPtr > | subSpansByDoc |
SpanNearQueryPtr | query |
bool | collectPayloads |
![]() | |
SynchronizePtr | objectLock |
LuceneSignalPtr | objectSignal |
A Spans that is formed from the ordered subspans of a SpanNearQuery where the subspans do not overlap and have a maximum slop between them.
The formed spans only contains minimum slop matches. The matching slop is computed from the distance(s) between the non overlapping matching Spans.
Successive matches are always formed from the successive Spans of the SpanNearQuery.
The formed spans may contain overlaps when the slop is at least 1. For example, when querying using
t1 t2 t3
with slop at least 1, the fragment:
t1 t2 t1 t3 t2 t3
matches twice:
t1 t2 .. t3
t1 .. t2 t3
Note: Only public for subclassing. Most implementations should not need this class
Lucene::NearSpansOrdered::NearSpansOrdered | ( | const SpanNearQueryPtr & | spanNearQuery, |
const IndexReaderPtr & | reader, | ||
bool | collectPayloads = true |
||
) |
|
virtual |
|
inlinestatic |
|
protected |
Advances the subSpans to just after an ordered match with a minimum slop that is smaller than the slop allowed by the SpanNearQuery.
|
virtual |
Returns the document number of the current match. Initially invalid.
Implements Lucene::Spans.
|
static |
Check whether two Spans in the same document are ordered.
|
staticprotected |
|
virtual |
Returns the end position of the current match. Initially invalid.
Implements Lucene::Spans.
|
inlinevirtual |
Reimplemented from Lucene::Spans.
|
virtual |
Returns the payload data for the current span. This is invalid until next() is called for the first time. This method must not be called more than once after each call of next(). However, most payloads are loaded lazily, so if the payload data for the current position is not needed, this method may not be called at all for performance reasons. An ordered SpanQuery does not lazy load, so if you have payloads in your index and you do not want ordered SpanNearQuerys to collect payloads, you can disable collection with a constructor option.
Note that the return type is a collection, thus the ordering should not be relied upon.
Implements Lucene::Spans.
Collection<SpansPtr> Lucene::NearSpansOrdered::getSubSpans | ( | ) |
|
virtual |
Checks if a payload can be loaded at this position.
Payloads can only be loaded once per call to next().
Implements Lucene::Spans.
|
virtual |
Move to the next match, returning true if any such exists.
Implements Lucene::Spans.
|
inline |
|
protected |
The subSpans are ordered in the same doc, so there is a possible match. Compute the slop while making the match as short as possible by advancing all subSpans except the last one in reverse order.
|
virtual |
Skips to the first match beyond the current, whose document number is greater than or equal to target.
Returns true if there is such a match.
Behaves as if written:
bool skipTo(int32_t target) { do { if (!next()) return false; } while (target > doc()); return true; }
Most implementations are considerably more efficient than that.
Implements Lucene::Spans.
|
virtual |
Returns the start position of the current match. Initially invalid.
Implements Lucene::Spans.
|
protected |
Order the subSpans within the same document by advancing all later spans after the previous one.
|
protected |
Advance the subSpans to the same document.
|
virtual |
Returns a string representation of the object.
Reimplemented from Lucene::LuceneObject.
|
protected |
|
protected |
|
protected |
|
protected |
Indicates that all subSpans have same doc()
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
The spans in the same order as the SpanNearQuery.
|
protected |