public abstract class

AbstractField

extends Object
implements Fieldable
java.lang.Object
   ↳ org.apache.lucene.document.AbstractField
Known Direct Subclasses

Summary

Fields
protected int binaryLength
protected int binaryOffset
protected float boost
protected Object fieldsData
protected boolean isBinary
protected boolean isIndexed
protected boolean isStored
protected boolean isTokenized
protected boolean lazy
protected String name
protected boolean omitNorms
protected boolean omitTermFreqAndPositions
protected boolean storeOffsetWithTermVector
protected boolean storePositionWithTermVector
protected boolean storeTermVector
protected TokenStream tokenStream
Protected Constructors
AbstractField()
AbstractField(String name, Field.Store store, Field.Index index, Field.TermVector termVector)
Public Methods
int getBinaryLength()
Returns length of byte[] segment that is used as value, if Field is not binary returned value is undefined
int getBinaryOffset()
Returns offset into byte[] segment that is used as value, if Field is not binary returned value is undefined
byte[] getBinaryValue(byte[] result)
Return the raw byte[] for the binary field.
byte[] getBinaryValue()
Return the raw byte[] for the binary field.
float getBoost()
Returns the boost factor for hits for this field.
boolean getOmitNorms()
True if norms are omitted for this indexed field
boolean getOmitTermFreqAndPositions()
final boolean isBinary()
True iff the value of the filed is stored as binary
final boolean isIndexed()
True iff the value of the field is to be indexed, so that it may be searched on.
boolean isLazy()
Indicates whether a Field is Lazy or not.
boolean isStoreOffsetWithTermVector()
True iff terms are stored as term vector together with their offsets (start and end position in source text).
boolean isStorePositionWithTermVector()
True iff terms are stored as term vector together with their token positions.
final boolean isStored()
True iff the value of the field is to be stored in the index for return with search hits.
final boolean isTermVectorStored()
True iff the term or terms used to index this field are stored as a term vector, available from getTermFreqVector(int, String).
final boolean isTokenized()
True iff the value of the field should be tokenized as text prior to indexing.
String name()
Returns the name of the field as an interned string.
void setBoost(float boost)
Sets the boost factor hits on this field.
void setOmitNorms(boolean omitNorms)
Expert: If set, omit normalization factors associated with this indexed field.
void setOmitTermFreqAndPositions(boolean omitTermFreqAndPositions)
Expert: If set, omit term freq, positions and payloads from postings for this field.
final String toString()
Prints a Field for human consumption.
Protected Methods
void setStoreTermVector(Field.TermVector termVector)
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.apache.lucene.document.Fieldable

Fields

protected int binaryLength

protected int binaryOffset

protected float boost

protected Object fieldsData

protected boolean isBinary

protected boolean isIndexed

protected boolean isStored

protected boolean isTokenized

protected boolean lazy

protected String name

protected boolean omitNorms

protected boolean omitTermFreqAndPositions

protected boolean storeOffsetWithTermVector

protected boolean storePositionWithTermVector

protected boolean storeTermVector

protected TokenStream tokenStream

Protected Constructors

protected AbstractField ()

protected AbstractField (String name, Field.Store store, Field.Index index, Field.TermVector termVector)

Public Methods

public int getBinaryLength ()

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

public int getBinaryOffset ()

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

public byte[] getBinaryValue (byte[] result)

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[].

public byte[] getBinaryValue ()

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[].

public float getBoost ()

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 document(int) and doc(int) may thus not have the same value present as when this field was indexed.

See Also

public boolean getOmitNorms ()

True if norms are omitted for this indexed field

public boolean getOmitTermFreqAndPositions ()

public final boolean isBinary ()

True iff the value of the filed is stored as binary

public final boolean isIndexed ()

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

public boolean isLazy ()

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

public boolean isStoreOffsetWithTermVector ()

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

public boolean isStorePositionWithTermVector ()

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

public final boolean isStored ()

True iff the value of the field is to be stored in the index for return with search hits. It is an error for this to be true if a field is Reader-valued.

public final boolean isTermVectorStored ()

True iff the term or terms used to index this field are stored as a term vector, available from 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.

public final boolean isTokenized ()

True iff 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.

public String name ()

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

public void setBoost (float boost)

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 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 computeNorm(String, FieldInvertState) method, the boost value is multipled by the lengthNorm(String, int) and then rounded by encodeNorm(float) before it is stored in the index. One should attempt to ensure that this product does not overflow the range of that encoding.

public void setOmitNorms (boolean omitNorms)

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

public void setOmitTermFreqAndPositions (boolean omitTermFreqAndPositions)

Expert: 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.

public final String toString ()

Prints a Field for human consumption.

Protected Methods

protected void setStoreTermVector (Field.TermVector termVector)