Sorts by field's natural String sort order, using ordinals. This is functionally equivalent to StringValComparator
, but it first resolves the string to their relative ordinal positions (using the index returned by FieldCache#getStringIndex
), and does most comparisons using the ordinals. For medium to large results, this comparator will be much faster than StringValComparator
. For very small result sets it may be slower.
More...
#include <FieldComparator.h>
|
| StringOrdValComparator (int32_t numHits, const String &field, int32_t sortPos, bool reversed) |
|
virtual | ~StringOrdValComparator () |
|
virtual String | getClassName () |
|
boost::shared_ptr< StringOrdValComparator > | shared_from_this () |
|
virtual int32_t | compare (int32_t slot1, int32_t slot2) |
| Compare hit at slot1 with hit at slot2.
|
|
virtual int32_t | compareBottom (int32_t doc) |
| Compare the bottom of the queue with doc. This will only invoked after setBottom has been called. This should return the same result as compare(int,int) } as if bottom were slot1 and the new document were slot 2.
|
|
virtual void | copy (int32_t slot, int32_t doc) |
| This method is called when a new hit is competitive. You should copy any state associated with this document that will be required for future comparisons, into the specified slot.
|
|
virtual void | setNextReader (const IndexReaderPtr &reader, int32_t docBase) |
| Set a new Reader. All doc correspond to the current Reader.
|
|
virtual void | setBottom (int32_t slot) |
| Set the bottom slot, ie the "weakest" (sorted last) entry in the queue. When compareBottom is called, you should compare against this slot. This will always be called before compareBottom .
|
|
virtual ComparableValue | value (int32_t slot) |
| Return the actual value in the slot.
|
|
virtual Collection< String > | getValues () |
|
virtual int32_t | getBottomSlot () |
|
virtual String | getField () |
|
virtual | ~FieldComparator () |
|
boost::shared_ptr< FieldComparator > | shared_from_this () |
|
virtual void | setScorer (const ScorerPtr &scorer) |
| Sets the Scorer to use in case a document's score is needed.
|
|
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.
|
|
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.
|
|
Sorts by field's natural String sort order, using ordinals. This is functionally equivalent to StringValComparator
, but it first resolves the string to their relative ordinal positions (using the index returned by FieldCache#getStringIndex
), and does most comparisons using the ordinals. For medium to large results, this comparator will be much faster than StringValComparator
. For very small result sets it may be slower.
◆ StringOrdValComparator()
Lucene::StringOrdValComparator::StringOrdValComparator |
( |
int32_t |
numHits, |
|
|
const String & |
field, |
|
|
int32_t |
sortPos, |
|
|
bool |
reversed |
|
) |
| |
◆ ~StringOrdValComparator()
virtual Lucene::StringOrdValComparator::~StringOrdValComparator |
( |
| ) |
|
|
virtual |
◆ _getClassName()
static String Lucene::StringOrdValComparator::_getClassName |
( |
| ) |
|
|
inlinestatic |
◆ binarySearch()
int32_t Lucene::StringOrdValComparator::binarySearch |
( |
Collection< String > |
lookup, |
|
|
const String & |
key, |
|
|
int32_t |
low, |
|
|
int32_t |
high |
|
) |
| |
|
protected |
◆ compare()
virtual int32_t Lucene::StringOrdValComparator::compare |
( |
int32_t |
slot1, |
|
|
int32_t |
slot2 |
|
) |
| |
|
virtual |
Compare hit at slot1 with hit at slot2.
- Parameters
-
slot1 | first slot to compare |
slot2 | second slot to compare |
- Returns
- any N < 0 if slot2's value is sorted after slot1, any N > 0 if the slot2's value is sorted before slot1 and 0 if they are equal
Implements Lucene::FieldComparator.
◆ compareBottom()
virtual int32_t Lucene::StringOrdValComparator::compareBottom |
( |
int32_t |
doc | ) |
|
|
virtual |
Compare the bottom of the queue with doc. This will only invoked after setBottom has been called. This should return the same result as compare(int,int)
} as if bottom were slot1 and the new document were slot 2.
For a search that hits many results, this method will be the hotspot (invoked by far the most frequently).
- Parameters
-
- Returns
- any N < 0 if the doc's value is sorted after the bottom entry (not competitive), any N > 0 if the doc's value is sorted before the bottom entry and 0 if they are equal.
Implements Lucene::FieldComparator.
◆ convert()
void Lucene::StringOrdValComparator::convert |
( |
int32_t |
slot | ) |
|
|
protected |
◆ copy()
virtual void Lucene::StringOrdValComparator::copy |
( |
int32_t |
slot, |
|
|
int32_t |
doc |
|
) |
| |
|
virtual |
This method is called when a new hit is competitive. You should copy any state associated with this document that will be required for future comparisons, into the specified slot.
- Parameters
-
slot | which slot to copy the hit to |
doc | docID relative to current reader |
Implements Lucene::FieldComparator.
◆ getBottomSlot()
virtual int32_t Lucene::StringOrdValComparator::getBottomSlot |
( |
| ) |
|
|
virtual |
◆ getClassName()
virtual String Lucene::StringOrdValComparator::getClassName |
( |
| ) |
|
|
inlinevirtual |
◆ getField()
virtual String Lucene::StringOrdValComparator::getField |
( |
| ) |
|
|
virtual |
◆ getValues()
virtual Collection< String > Lucene::StringOrdValComparator::getValues |
( |
| ) |
|
|
virtual |
◆ setBottom()
virtual void Lucene::StringOrdValComparator::setBottom |
( |
int32_t |
slot | ) |
|
|
virtual |
Set the bottom slot, ie the "weakest" (sorted last) entry in the queue. When compareBottom
is called, you should compare against this slot. This will always be called before compareBottom
.
- Parameters
-
slot | the currently weakest (sorted last) slot in the queue |
Implements Lucene::FieldComparator.
◆ setNextReader()
virtual void Lucene::StringOrdValComparator::setNextReader |
( |
const IndexReaderPtr & |
reader, |
|
|
int32_t |
docBase |
|
) |
| |
|
virtual |
◆ shared_from_this()
◆ value()
virtual ComparableValue Lucene::StringOrdValComparator::value |
( |
int32_t |
slot | ) |
|
|
virtual |
Return the actual value in the slot.
- Parameters
-
- Returns
- value in this slot upgraded to ComparableValue
Implements Lucene::FieldComparator.
◆ bottomOrd
int32_t Lucene::StringOrdValComparator::bottomOrd |
|
protected |
◆ bottomSlot
int32_t Lucene::StringOrdValComparator::bottomSlot |
|
protected |
◆ bottomValue
String Lucene::StringOrdValComparator::bottomValue |
|
protected |
◆ currentReaderGen
int32_t Lucene::StringOrdValComparator::currentReaderGen |
|
protected |
◆ field
String Lucene::StringOrdValComparator::field |
|
protected |
◆ lookup
Collection<String> Lucene::StringOrdValComparator::lookup |
|
protected |
◆ order
Collection<int32_t> Lucene::StringOrdValComparator::order |
|
protected |
◆ ords
Collection<int32_t> Lucene::StringOrdValComparator::ords |
|
protected |
◆ readerGen
Collection<int32_t> Lucene::StringOrdValComparator::readerGen |
|
protected |
◆ reversed
bool Lucene::StringOrdValComparator::reversed |
|
protected |
◆ sortPos
int32_t Lucene::StringOrdValComparator::sortPos |
|
protected |
◆ values
Collection<String> Lucene::StringOrdValComparator::values |
|
protected |
The documentation for this class was generated from the following file: