KeywordField

Field that indexes a per-document String or BytesRef into an inverted index for fast filtering, stores values in a columnar fashion using DocValuesType.SORTED_SET doc values for sorting and faceting, and optionally stores values as stored fields for top-hits retrieval. This field does not support scoring: queries produce constant scores. If you need more fine-grained control you can use StringField, SortedDocValuesField or [ ], and StoredField.

This field defines static factory methods for creating common query objects:

  • .newExactQuery for matching a value.

  • .newSetQuery for matching any of the values coming from a set.

  • .newSortField for matching a value.

Constructors

Link copied to clipboard
constructor(name: String, value: BytesRef, stored: Field.Store)

Creates a new KeywordField.

constructor(name: String, value: String, stored: Field.Store)

Creates a new KeywordField from a String value, by indexing its UTF-8 representation.

Types

Link copied to clipboard
object Companion

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 override 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 override 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.