## Uses of Interface
org.apache.lucene.index.IndexableField

- Packages that use IndexableField
  Package | Description
  --- | ---
  org.apache.lucene.document | The logical representation of a `Document` for indexing and searching.
  org.apache.lucene.index | Code to maintain and access indices.

- - ### Uses of IndexableField in org.apache.lucene.document

    Classes in org.apache.lucene.document that implement IndexableField
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `BinaryDocValuesField` | Field that stores a per-document `BytesRef` value.
    `class` | `BinaryPoint` | An indexed binary field for fast range filters.
    `class` | `DoubleDocValuesField` | Syntactic sugar for encoding doubles as NumericDocValues via `Double.doubleToRawLongBits(double)`.
    `class` | `DoubleField` | Field that stores a per-document `double` value for scoring, sorting or value retrieval and index the field for fast range filters.
    `class` | `DoublePoint` | An indexed `double` field for fast range filters.
    `class` | `DoubleRange` | An indexed Double Range field.
    `class` | `DoubleRangeDocValuesField` | DocValues field for DoubleRange.
    `class` | `FeatureField` | `Field` that can be used to store static scoring factors into documents.
    `class` | `Field` | Expert: directly create a field for a document.
    `class` | `FloatDocValuesField` | Syntactic sugar for encoding floats as NumericDocValues via `Float.floatToRawIntBits(float)`.
    `class` | `FloatField` | Field that stores a per-document `float` value for scoring, sorting or value retrieval and index the field for fast range filters.
    `class` | `FloatPoint` | An indexed `float` field for fast range filters.
    `class` | `FloatRange` | An indexed Float Range field.
    `class` | `FloatRangeDocValuesField` | DocValues field for FloatRange.
    `class` | `InetAddressPoint` | An indexed 128-bit `InetAddress` field.
    `class` | `InetAddressRange` | An indexed InetAddress Range Field
    `class` | `IntField` | Field that stores a per-document `int` value for scoring, sorting or value retrieval and index the field for fast range filters.
    `class` | `IntPoint` | An indexed `int` field for fast range filters.
    `class` | `IntRange` | An indexed Integer Range field.
    `class` | `IntRangeDocValuesField` | DocValues field for IntRange.
    `class` | `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.
    `class` | `KnnByteVectorField` | A field that contains a single byte numeric vector (or none) for each document.
    `class` | `KnnFloatVectorField` | A field that contains a single floating-point numeric vector (or none) for each document.
    `class` | `KnnVectorField` | Deprecated. use `KnnFloatVectorField` instead
    `class` | `LatLonDocValuesField` | An per-document location field.
    `class` | `LatLonPoint` | An indexed location field.
    `class` | `LatLonShapeDocValuesField` | Concrete implementation of a `ShapeDocValuesField` for geographic geometries.
    `class` | `LongField` | Field that stores a per-document `long` value for scoring, sorting or value retrieval and index the field for fast range filters.
    `class` | `LongPoint` | An indexed `long` field for fast range filters.
    `class` | `LongRange` | An indexed Long Range field.
    `class` | `LongRangeDocValuesField` | DocValues field for LongRange.
    `class` | `NumericDocValuesField` | Field that stores a per-document `long` value for scoring, sorting or value retrieval.
    `class` | `ShapeDocValuesField` | A doc values field for `LatLonShape` and `XYShape` that uses `ShapeDocValues` as the underlying binary doc value format.
    `static class` | `ShapeField.Triangle` | polygons are decomposed into tessellated triangles using `Tessellator` these triangles are encoded and inserted as separate indexed POINT fields
    `class` | `SortedDocValuesField` | Field that stores a per-document `BytesRef` value, indexed for sorting.
    `class` | `SortedNumericDocValuesField` | Field that stores a per-document `long` values for scoring, sorting or value retrieval.
    `class` | `SortedSetDocValuesField` | Field that stores a set of per-document `BytesRef` values, indexed for faceting,grouping,joining.
    `class` | `StoredField` | A field whose value is stored so that `IndexSearcher.storedFields()` and `IndexReader.storedFields()` will return the field and its value.
    `class` | `StringField` | A field that is indexed but not tokenized: the entire String value is indexed as a single token.
    `class` | `TextField` | A field that is indexed and tokenized, without term vectors.
    `class` | `XYDocValuesField` | An per-document location field.
    `class` | `XYPointField` | An indexed XY position field.
    `class` | `XYShapeDocValuesField` | Concrete implementation of a `ShapeDocValuesField` for cartesian geometries.

    Methods in org.apache.lucene.document that return IndexableField
    Modifier and Type | Method | Description
    --- | --- | ---
    `IndexableField` | Document.`getField​(String name)` | Returns a field with the given name if any exist in this document, or null.
    `IndexableField[]` | Document.`getFields​(String name)` | Returns an array of `IndexableField`s with the given name.

    Methods in org.apache.lucene.document that return types with arguments of type IndexableField
    Modifier and Type | Method | Description
    --- | --- | ---
    `List<IndexableField>` | Document.`getFields()` | Returns a List of all the fields in a document.
    `Iterator<IndexableField>` | Document.`iterator()` |

    Methods in org.apache.lucene.document with parameters of type IndexableField
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | Document.`add​(IndexableField field)` | Adds a field to a document.

  - ### Uses of IndexableField in org.apache.lucene.index

    Method parameters in org.apache.lucene.index with type arguments of type IndexableField
    Modifier and Type | Method | Description
    --- | --- | ---
    `long` | IndexWriter.`addDocument​(Iterable<? extends IndexableField> doc)` | Adds a document to this index.
    `long` | IndexWriter.`addDocuments​(Iterable<? extends Iterable<? extends IndexableField>> docs)` | Atomically adds a block of documents with sequentially assigned document IDs, such that an external reader will see all or none of the documents.
    `long` | IndexWriter.`softUpdateDocument​(Term term, Iterable<? extends IndexableField> doc, Field... softDeletes)` | Expert: Updates a document by first updating the document(s) containing `term` with the given doc-values fields and then adding the new document.
    `long` | IndexWriter.`softUpdateDocuments​(Term term, Iterable<? extends Iterable<? extends IndexableField>> docs, Field... softDeletes)` | Expert: Atomically updates documents matching the provided term with the given doc-values fields and adds a block of documents with sequentially assigned document IDs, such that an external reader will see all or none of the documents.
    `long` | IndexWriter.`updateDocument​(Term term, Iterable<? extends IndexableField> doc)` | Updates a document by first deleting the document(s) containing `term` and then adding the new document.
    `long` | IndexWriter.`updateDocuments​(Term delTerm, Iterable<? extends Iterable<? extends IndexableField>> docs)` | Atomically deletes documents matching the provided delTerm and adds a block of documents with sequentially assigned document IDs, such that an external reader will see all or none of the documents.
    `long` | IndexWriter.`updateDocuments​(Query delQuery, Iterable<? extends Iterable<? extends IndexableField>> docs)` | Similar to `IndexWriter.updateDocuments(Term, Iterable)`, but take a query instead of a term to identify the documents to be updated