Field

open class Field : IndexableField

Expert: directly create a field for a document. Most users should use one of the sugar subclasses:

A field is a section of a Document. Each field has three parts: name, type and value. Values may be text (String, Reader or pre-analyzed TokenStream), binary (byte[]), or numeric (a Number). Fields are optionally stored in the index, so that they may be returned with hits on the document.

NOTE: the field type is an IndexableFieldType. Making changes to the state of the IndexableFieldType will impact any Field it is used in. It is strongly recommended that no changes be made after Field instantiation.

Inheritors

Constructors

Link copied to clipboard
constructor(name: String, reader: Reader, type: IndexableFieldType)

Create field with Reader value.

constructor(name: String, tokenStream: TokenStream, type: IndexableFieldType)

Create field with TokenStream value.

constructor(name: String, value: ByteArray, type: IndexableFieldType)

Create field with binary value.

constructor(name: String, value: ByteArray, offset: Int, length: Int, type: IndexableFieldType)

Create field with binary value.

constructor(name: String, bytes: BytesRef, type: IndexableFieldType)

Create field with binary value.

constructor(name: String, value: CharSequence, type: IndexableFieldType)

Create field with String value.

Types

Link copied to clipboard

Specifies whether and how a field should be stored.

Properties

Link copied to clipboard
open override val charSequenceValue: CharSequence?

Functions

Link copied to clipboard
open override fun binaryValue(): BytesRef?

Non-null if this field has a binary value

Link copied to clipboard
open override fun fieldType(): IndexableFieldType

Returns the FieldType for this field.

Link copied to clipboard
open override fun invertableType(): InvertableType

Describes how this field should be inverted. This must return a non-null value if the field indexes terms and postings.

Link copied to clipboard
open override fun name(): String

Field name

Link copied to clipboard
open override fun numericValue(): Number?

Non-null if this field has a numeric value

Link copied to clipboard
open override fun readerValue(): Reader?

The value of the field as a Reader, or null. If null, the String value or binary value is used. Exactly one of stringValue(), readerValue(), and binaryValue() must be set.

Link copied to clipboard
open fun setBytesValue(value: BytesRef)

Expert: change the value of this field. See .setStringValue.

Link copied to clipboard
fun setByteValue(value: Byte)

Expert: change the value of this field. See .setStringValue.

Link copied to clipboard
open fun setDoubleValue(value: Double)

Expert: change the value of this field. See .setStringValue.

Link copied to clipboard
open fun setFloatValue(value: Float)

Expert: change the value of this field. See .setStringValue.

Link copied to clipboard
open fun setIntValue(value: Int)

Expert: change the value of this field. See .setStringValue.

Link copied to clipboard
open fun setLongValue(value: Long)

Expert: change the value of this field. See .setStringValue.

Link copied to clipboard

Expert: change the value of this field. See .setStringValue.

Link copied to clipboard
fun setShortValue(value: Short)

Expert: change the value of this field. See .setStringValue.

Link copied to clipboard
open fun setStringValue(value: String)

Expert: change the value of this field. This can be used during indexing to re-use a single Field instance to improve indexing speed by avoiding GC cost of new'ing and reclaiming Field instances. Typically a single Document instance is re-used as well. This helps most on small documents.

Link copied to clipboard
fun setTokenStream(tokenStream: TokenStream)

Expert: sets the token stream to be used for indexing.

Link copied to clipboard
open override fun storedValue(): StoredValue?

Stored value. This method is called to populate stored fields and must return a non-null value if the field stored.

Link copied to clipboard
open override fun stringValue(): String?

The value of the field as a String, or null. If null, the Reader value or binary value is used. Exactly one of stringValue(), readerValue(), and binaryValue() must be set.

Link copied to clipboard
open override fun tokenStream(analyzer: Analyzer, reuse: TokenStream?): TokenStream?

Creates the TokenStream used for indexing this field. If appropriate, implementations should use the given Analyzer to create the TokenStreams.

Link copied to clipboard

The TokenStream for this field to be used when indexing, or null. If null, the Reader value or String value is analyzed to produce the indexed tokens.

Link copied to clipboard
open override fun toString(): String

Prints a Field for human consumption.