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

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

Obtains the ordinal of the field value from the default Lucene `FieldCache` using getStringIndex(). More...

`#include <OrdFieldSource.h>`

Inheritance diagram for Lucene::OrdFieldSource:

## Public Member Functions

| OrdFieldSource (const String &field)
| Constructor for a certain field.
virtual | ~OrdFieldSource ()
virtual String | getClassName ()
boost::shared_ptr< OrdFieldSource > | shared_from_this ()
virtual String | description ()
| Description of field, used in explain()
virtual DocValuesPtr | getValues (const IndexReaderPtr &reader)
| Return the DocValues used by the function query.
virtual bool | equals (const LuceneObjectPtr &other)
| Needed for possible caching of query results - used by `ValueSourceQuery#equals(LuceneObjectPtr)`.
virtual int32_t | hashCode ()
| Needed for possible caching of query results - used by `ValueSourceQuery#hashCode()`.
Public Member Functions inherited from Lucene::ValueSource
virtual | ~ValueSource ()
boost::shared_ptr< ValueSource > | shared_from_this ()
virtual String | toString ()
| Returns a string representation of the object.
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 | 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::ValueSource
static String | _getClassName ()

## Protected Attributes

String | field
Protected Attributes inherited from Lucene::LuceneSync
SynchronizePtr | objectLock
LuceneSignalPtr | objectSignal

## Additional Inherited Members

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

## Detailed Description

Obtains the ordinal of the field value from the default Lucene `FieldCache` using getStringIndex().

The native lucene index order is used to assign an ordinal value for each field value.

Field values (terms) are lexicographically ordered by unicode value, and numbered starting at 1. Example: If there were only three field values: "apple","banana","pear" then ord("apple")=1, ord("banana")=2, ord("pear")=3

WARNING: ord() depends on the position in an index and can thus change when other documents are inserted or deleted, or if a MultiSearcher is used.

NOTE: with the switch in 2.9 to segment-based searching, if `getValues` is invoked with a composite (multi-segment) reader, this can easily cause double RAM usage for the values in the FieldCache. It's best to switch your application to pass only atomic (single segment) readers to this API. Alternatively, for a short-term fix, you could wrap your ValueSource using `MultiValueSource`, which costs more CPU per lookup but will not consume double the FieldCache RAM.

## Constructor & Destructor Documentation

## ◆ OrdFieldSource()

Lucene::OrdFieldSource::OrdFieldSource | ( | const String & | field | ) |

Constructor for a certain field.

Parameters

  field | field whose values order is used.

## ◆ ~OrdFieldSource()

virtual Lucene::OrdFieldSource::~OrdFieldSource | ( |  | ) |

virtual

## Member Function Documentation

## ◆ _getClassName()

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

inline static

## ◆ description()

virtual String Lucene::OrdFieldSource::description | ( |  | ) |

virtual

Description of field, used in explain()

Implements Lucene::ValueSource.

## ◆ equals()

virtual bool Lucene::OrdFieldSource::equals | ( | const LuceneObjectPtr & | other | ) |

virtual

Needed for possible caching of query results - used by `ValueSourceQuery#equals(LuceneObjectPtr)`.

Implements Lucene::ValueSource.

## ◆ getClassName()

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

inline virtual

Reimplemented from Lucene::ValueSource.

## ◆ getValues()

virtual DocValuesPtr Lucene::OrdFieldSource::getValues | ( | const IndexReaderPtr & | reader | ) |

virtual

Return the DocValues used by the function query.

Parameters

  reader | The IndexReader used to read these values. If any caching is involved, that caching would also be IndexReader based.

Implements Lucene::ValueSource.

## ◆ hashCode()

virtual int32_t Lucene::OrdFieldSource::hashCode | ( |  | ) |

virtual

Needed for possible caching of query results - used by `ValueSourceQuery#hashCode()`.

Implements Lucene::ValueSource.

## ◆ shared_from_this()

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

inline

## Field Documentation

## ◆ field

String Lucene::OrdFieldSource::field

protected

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

- OrdFieldSource.h

clucene.sourceforge.net