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

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

Sorts by descending relevance. NOTE: if you are sorting only by descending relevance and then secondarily by ascending docID, performance is faster using `TopScoreDocCollector` directly (which `IndexSearcher#search` uses when no `Sort` is specified). More...

`#include <FieldComparator.h>`

Inheritance diagram for Lucene::RelevanceComparator:

## Public Member Functions

| RelevanceComparator (int32_t numHits)
virtual | ~RelevanceComparator ()
virtual String | getClassName ()
boost::shared_ptr< RelevanceComparator > | 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 | setScorer (const ScorerPtr &scorer)
| Sets the Scorer to use in case a document's score is needed.
Public Member Functions inherited from Lucene::NumericComparator< double >
| NumericComparator (int32_t numHits, const String &field=EmptyString)
virtual | ~NumericComparator ()
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.
Public Member Functions inherited from Lucene::FieldComparator
virtual | ~FieldComparator ()
boost::shared_ptr< FieldComparator > | 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.
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::FieldComparator
static String | _getClassName ()

## Protected Attributes

ScorerPtr | scorer
Protected Attributes inherited from Lucene::NumericComparator< double >
Collection< double > | values
Collection< double > | currentReaderValues
String | field
double | bottom
Protected Attributes inherited from Lucene::LuceneSync
SynchronizePtr | objectLock
LuceneSignalPtr | objectSignal

## Additional Inherited Members

Protected Member Functions inherited from Lucene::LuceneObject
| LuceneObject ()

## Detailed Description

Sorts by descending relevance. NOTE: if you are sorting only by descending relevance and then secondarily by ascending docID, performance is faster using `TopScoreDocCollector` directly (which `IndexSearcher#search` uses when no `Sort` is specified).

## Constructor & Destructor Documentation

## ◆ RelevanceComparator()

Lucene::RelevanceComparator::RelevanceComparator | ( | int32_t | numHits | ) |

## ◆ ~RelevanceComparator()

virtual Lucene::RelevanceComparator::~RelevanceComparator | ( |  | ) |

virtual

## Member Function Documentation

## ◆ _getClassName()

static String Lucene::RelevanceComparator::_getClassName | ( |  | ) |

inline static

## ◆ compare()

virtual int32_t Lucene::RelevanceComparator::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

Reimplemented from Lucene::NumericComparator< double >.

## ◆ compareBottom()

virtual int32_t Lucene::RelevanceComparator::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

  doc | that was hit

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.

Reimplemented from Lucene::NumericComparator< double >.

## ◆ copy()

virtual void Lucene::RelevanceComparator::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

Reimplemented from Lucene::NumericComparator< double >.

## ◆ getClassName()

virtual String Lucene::RelevanceComparator::getClassName | ( |  | ) |

inline virtual

Reimplemented from Lucene::FieldComparator.

## ◆ setNextReader()

virtual void Lucene::RelevanceComparator::setNextReader | ( | const IndexReaderPtr & | reader,
|  | int32_t | docBase
| ) |  |

virtual

Set a new Reader. All doc correspond to the current Reader.

Parameters

  reader | current reader
  docBase | docBase of this reader

Implements Lucene::FieldComparator.

## ◆ setScorer()

virtual void Lucene::RelevanceComparator::setScorer | ( | const ScorerPtr & | scorer | ) |

virtual

Sets the Scorer to use in case a document's score is needed.

Parameters

  scorer | Scorer instance that you should use to obtain the current hit's score, if necessary.

Reimplemented from Lucene::FieldComparator.

## ◆ shared_from_this()

boost::shared_ptr< RelevanceComparator > Lucene::RelevanceComparator::shared_from_this | ( |  | ) |

inline

## Field Documentation

## ◆ scorer

ScorerPtr Lucene::RelevanceComparator::scorer

protected

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

- FieldComparator.h

clucene.sourceforge.net