org.apache.lucene.index
Interface IndexableField

All Known Implementing Classes:
BinaryDocValuesField, ByteDocValuesField, DerefBytesDocValuesField, DoubleDocValuesField, DoubleField, Field, FloatDocValuesField, FloatField, IntDocValuesField, IntField, LongDocValuesField, LongField, NumericDocValuesField, PackedLongDocValuesField, ShortDocValuesField, SortedBytesDocValuesField, SortedDocValuesField, SortedSetDocValuesField, StoredField, StraightBytesDocValuesField, StringField, TextField

public interface IndexableField

Represents a single field for indexing. IndexWriter consumes Iterable<IndexableField> as a document.

WARNING: This API is experimental and might change in incompatible ways in the next release.

Method Summary
 BytesRef binaryValue()
          Non-null if this field has a binary value
 float boost()
          Returns the field's index-time boost.
 IndexableFieldType fieldType()
          IndexableFieldType describing the properties of this field.
 String name()
          Field name
 Number numericValue()
          Non-null if this field has a numeric value
 Reader readerValue()
          Non-null if this field has a Reader value
 String stringValue()
          Non-null if this field has a string value
 TokenStream tokenStream(Analyzer analyzer)
          Creates the TokenStream used for indexing this field.
 

Method Detail

name

String name()
Field name


fieldType

IndexableFieldType fieldType()
IndexableFieldType describing the properties of this field.


boost

float boost()
Returns the field's index-time boost.

Only fields can have an index-time boost, if you want to simulate a "document boost", then you must pre-multiply it across all the relevant fields yourself.

The boost is used to compute the norm factor for the field. By default, in the Similarity.computeNorm(FieldInvertState) method, the boost value is multiplied by the length normalization factor and then rounded by DefaultSimilarity.encodeNormValue(float) before it is stored in the index. One should attempt to ensure that this product does not overflow the range of that encoding.

It is illegal to return a boost other than 1.0f for a field that is not indexed (IndexableFieldType.indexed() is false) or omits normalization values (IndexableFieldType.omitNorms() returns true).

See Also:
Similarity.computeNorm(FieldInvertState), DefaultSimilarity.encodeNormValue(float)

binaryValue

BytesRef binaryValue()
Non-null if this field has a binary value


stringValue

String stringValue()
Non-null if this field has a string value


readerValue

Reader readerValue()
Non-null if this field has a Reader value


numericValue

Number numericValue()
Non-null if this field has a numeric value


tokenStream

TokenStream tokenStream(Analyzer analyzer)
                        throws IOException
Creates the TokenStream used for indexing this field. If appropriate, implementations should use the given Analyzer to create the TokenStreams.

Parameters:
analyzer - Analyzer that should be used to create the TokenStreams from
Returns:
TokenStream value for indexing the document. Should always return a non-null value if the field is to be indexed
Throws:
IOException - Can be thrown while creating the TokenStream


Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.