## 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 `TFIDFSimilarity.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)`, `TFIDFSimilarity.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-2013 Apache Software Foundation. All Rights Reserved.