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

Public Member Functions | Static Public Member Functions
Lucene::Fieldable Class Referenceabstract

Synonymous with Field. More...

`#include <Fieldable.h>`

Inheritance diagram for Lucene::Fieldable:

## Public Member Functions

virtual String | getClassName ()
virtual | ~Fieldable ()
virtual void | setBoost (double boost)=0
| Sets the boost factor hits on this field. This value will be multiplied into the score of all hits on this this field of this document. More...
virtual double | getBoost ()=0
| Returns the boost factor for hits for this field. More...
virtual String | name ()=0
| Returns the name of the field as an interned string. For example "date", "title", "body", ... More...
virtual String | stringValue ()=0
| The value of the field as a String, or empty. More...
virtual ReaderPtr | readerValue ()=0
| The value of the field as a Reader, which can be used at index time to generate indexed tokens. More...
virtual TokenStreamPtr | tokenStreamValue ()=0
| The TokenStream for this field to be used when indexing, or null. More...
virtual bool | isStored ()=0
| True if the value of the field is to be stored in the index for return with search hits. More...
virtual bool | isIndexed ()=0
| True if the value of the field is to be indexed, so that it may be searched on. More...
virtual bool | isTokenized ()=0
| True if the value of the field should be tokenized as text prior to indexing. Un-tokenized fields are indexed as a single word and may not be Reader-valued. More...
virtual bool | isTermVectorStored ()=0
| True if the term or terms used to index this field are stored as a term vector, available from IndexReader#getTermFreqVector(int,String). These methods do not provide access to the original content of the field, only to terms used to index it. If the original content must be preserved, use the stored attribute instead. More...
virtual bool | isStoreOffsetWithTermVector ()=0
| True if terms are stored as term vector together with their offsets (start and end position in source text). More...
virtual bool | isStorePositionWithTermVector ()=0
| True if terms are stored as term vector together with their token positions. More...
virtual bool | isBinary ()=0
| True if the value of the field is stored as binary. More...
virtual bool | getOmitNorms ()=0
| True if norms are omitted for this indexed field. More...
virtual void | setOmitNorms (bool omitNorms)=0
| If set, omit normalization factors associated with this indexed field. This effectively disables indexing boosts and length normalization for this field. More...
virtual bool | isLazy ()=0
| Indicates whether a Field is Lazy or not. The semantics of Lazy loading are such that if a Field is lazily loaded, retrieving it's values via stringValue() or getBinaryValue() is only valid as long as the IndexReader that retrieved the Document is still open. More...
virtual int32_t | getBinaryOffset ()=0
| Returns offset into byte[] segment that is used as value, if Field is not binary returned value is undefined. More...
virtual int32_t | getBinaryLength ()=0
| Returns length of byte[] segment that is used as value, if Field is not binary returned value is undefined. More...
virtual ByteArray | getBinaryValue ()=0
| Return the raw byte[] for the binary field. Note that you must also call getBinaryLength and getBinaryOffset to know which range of bytes in this returned array belong to the field. More...
virtual ByteArray | getBinaryValue (ByteArray result)=0
| Return the raw byte[] for the binary field. Note that you must also call getBinaryLength and getBinaryOffset to know which range of bytes in this returned array belong to the field. More...
virtual bool | getOmitTermFreqAndPositions ()=0
virtual void | setOmitTermFreqAndPositions (bool omitTermFreqAndPositions)=0
| If set, omit term freq, positions and payloads from postings for this field. More...

## Static Public Member Functions

static String | _getClassName ()

## Detailed Description

Synonymous with Field.

WARNING: This interface may change within minor versions, despite Lucene's backward compatibility requirements. This means new methods may be added from version to version. This change only affects the Fieldable API; other backwards compatibility promises remain intact. For example, Lucene can still read and write indices created within the same major version.

## Constructor & Destructor Documentation

## ◆ ~Fieldable()

virtual Lucene::Fieldable::~Fieldable | ( |  | ) |

inline virtual

## Member Function Documentation

## ◆ _getClassName()

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

inline static

## ◆ getBinaryLength()

virtual int32_t Lucene::Fieldable::getBinaryLength | ( |  | ) |

pure virtual

Returns length of byte[] segment that is used as value, if Field is not binary returned value is undefined.

Returns
  length of byte[] segment that represents this Field value.

Implemented in Lucene::AbstractField.

## ◆ getBinaryOffset()

virtual int32_t Lucene::Fieldable::getBinaryOffset | ( |  | ) |

pure virtual

Returns offset into byte[] segment that is used as value, if Field is not binary returned value is undefined.

Returns
  index of the first character in byte[] segment that represents this Field value.

Implemented in Lucene::AbstractField.

## ◆ getBinaryValue() [1/2]

virtual ByteArray Lucene::Fieldable::getBinaryValue | ( |  | ) |

pure virtual

Return the raw byte[] for the binary field. Note that you must also call getBinaryLength and getBinaryOffset to know which range of bytes in this returned array belong to the field.

Returns
  reference to the Field value as byte[].

Implemented in Lucene::AbstractField.

## ◆ getBinaryValue() [2/2]

virtual ByteArray Lucene::Fieldable::getBinaryValue | ( | ByteArray | result | ) |

pure virtual

Return the raw byte[] for the binary field. Note that you must also call getBinaryLength and getBinaryOffset to know which range of bytes in this returned array belong to the field.

About reuse: if you pass in the result byte[] and it is used, likely the underlying implementation will hold onto this byte[] and return it in future calls to getBinaryValue(). So if you subsequently re-use the same byte[] elsewhere it will alter this Fieldable's value.

Parameters

  result | User defined buffer that will be used if possible. If this is null or not large enough, a new buffer is allocated

Returns
  reference to the Field value as byte[].

Implemented in Lucene::NumericField, Lucene::LazyField, and Lucene::AbstractField.

## ◆ getBoost()

virtual double Lucene::Fieldable::getBoost | ( |  | ) |

pure virtual

Returns the boost factor for hits for this field.

The default value is 1.0.

Note: this value is not stored directly with the document in the index. Documents returned from IndexReader#document(int) and Searcher#doc(int) may thus not have the same value present as when this field was indexed.

Implemented in Lucene::AbstractField.

## ◆ getClassName()

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

inline virtual

Reimplemented in Lucene::NumericField, Lucene::LazyField, Lucene::Field, and Lucene::AbstractField.

## ◆ getOmitNorms()

virtual bool Lucene::Fieldable::getOmitNorms | ( |  | ) |

pure virtual

True if norms are omitted for this indexed field.

Implemented in Lucene::AbstractField.

## ◆ getOmitTermFreqAndPositions()

virtual bool Lucene::Fieldable::getOmitTermFreqAndPositions | ( |  | ) |

pure virtual

See also
  setOmitTermFreqAndPositions

Implemented in Lucene::AbstractField.

## ◆ isBinary()

virtual bool Lucene::Fieldable::isBinary | ( |  | ) |

pure virtual

True if the value of the field is stored as binary.

Implemented in Lucene::AbstractField.

## ◆ isIndexed()

virtual bool Lucene::Fieldable::isIndexed | ( |  | ) |

pure virtual

True if the value of the field is to be indexed, so that it may be searched on.

Implemented in Lucene::Field, and Lucene::AbstractField.

## ◆ isLazy()

virtual bool Lucene::Fieldable::isLazy | ( |  | ) |

pure virtual

Indicates whether a Field is Lazy or not. The semantics of Lazy loading are such that if a Field is lazily loaded, retrieving it's values via stringValue() or getBinaryValue() is only valid as long as the IndexReader that retrieved the Document is still open.

Returns
  true if this field can be loaded lazily

Implemented in Lucene::AbstractField.

## ◆ isStored()

virtual bool Lucene::Fieldable::isStored | ( |  | ) |

pure virtual

True if the value of the field is to be stored in the index for return with search hits.

Implemented in Lucene::Field, and Lucene::AbstractField.

## ◆ isStoreOffsetWithTermVector()

virtual bool Lucene::Fieldable::isStoreOffsetWithTermVector | ( |  | ) |

pure virtual

True if terms are stored as term vector together with their offsets (start and end position in source text).

Implemented in Lucene::AbstractField.

## ◆ isStorePositionWithTermVector()

virtual bool Lucene::Fieldable::isStorePositionWithTermVector | ( |  | ) |

pure virtual

True if terms are stored as term vector together with their token positions.

Implemented in Lucene::AbstractField.

## ◆ isTermVectorStored()

virtual bool Lucene::Fieldable::isTermVectorStored | ( |  | ) |

pure virtual

True if the term or terms used to index this field are stored as a term vector, available from IndexReader#getTermFreqVector(int,String). These methods do not provide access to the original content of the field, only to terms used to index it. If the original content must be preserved, use the stored attribute instead.

Implemented in Lucene::AbstractField.

## ◆ isTokenized()

virtual bool Lucene::Fieldable::isTokenized | ( |  | ) |

pure virtual

True if the value of the field should be tokenized as text prior to indexing. Un-tokenized fields are indexed as a single word and may not be Reader-valued.

Implemented in Lucene::AbstractField.

## ◆ name()

virtual String Lucene::Fieldable::name | ( |  | ) |

pure virtual

Returns the name of the field as an interned string. For example "date", "title", "body", ...

Implemented in Lucene::AbstractField.

## ◆ readerValue()

virtual ReaderPtr Lucene::Fieldable::readerValue | ( |  | ) |

pure virtual

The value of the field as a Reader, which can be used at index time to generate indexed tokens.

See also
  stringValue()

Implemented in Lucene::NumericField, Lucene::LazyField, and Lucene::Field.

## ◆ setBoost()

virtual void Lucene::Fieldable::setBoost | ( | double | boost | ) |

pure virtual

Sets the boost factor hits on this field. This value will be multiplied into the score of all hits on this this field of this document.

The boost is multiplied by Document#getBoost() of the document containing this field. If a document has multiple fields with the same name, all such values are multiplied together. This product is then used to compute the norm factor for the field. By default, in the {} method, the boost value is multiplied by the Similarity#lengthNorm(String,int)} and then rounded by Similarity#encodeNorm(double)} before it is stored in the index. One should attempt to ensure that this product does not overflow the range of that encoding. Document#setBoost(double) Similarity#computeNorm(String, FieldInvertState) Similarity#encodeNorm(double)

Implemented in Lucene::AbstractField.

## ◆ setOmitNorms()

virtual void Lucene::Fieldable::setOmitNorms | ( | bool | omitNorms | ) |

pure virtual

If set, omit normalization factors associated with this indexed field. This effectively disables indexing boosts and length normalization for this field.

Implemented in Lucene::AbstractField.

## ◆ setOmitTermFreqAndPositions()

virtual void Lucene::Fieldable::setOmitTermFreqAndPositions | ( | bool | omitTermFreqAndPositions | ) |

pure virtual

If set, omit term freq, positions and payloads from postings for this field.

NOTE: While this option reduces storage space required in the index, it also means any query requiring positional information, such as PhraseQuery or SpanQuery subclasses will silently fail to find results.

Implemented in Lucene::AbstractField.

## ◆ stringValue()

virtual String Lucene::Fieldable::stringValue | ( |  | ) |

pure virtual

The value of the field as a String, or empty.

For indexing, if isStored()==true, the stringValue() will be used as the stored field value unless isBinary()==true, in which case getBinaryValue() will be used.

If isIndexed()==true and isTokenized()==false, this String value will be indexed as a single token. If isIndexed()==true and isTokenized()==true, then tokenStreamValue() will be used to generate indexed tokens if not null, else readerValue() will be used to generate indexed tokens if not null, else stringValue() will be used to generate tokens.

Implemented in Lucene::NumericField, Lucene::LazyField, and Lucene::Field.

## ◆ tokenStreamValue()

virtual TokenStreamPtr Lucene::Fieldable::tokenStreamValue | ( |  | ) |

pure virtual

The TokenStream for this field to be used when indexing, or null.

See also
  stringValue()

Implemented in Lucene::NumericField, Lucene::LazyField, and Lucene::Field.

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

- Fieldable.h

clucene.sourceforge.net