[[index-options]]
=== `index_options`

The `index_options` parameter controls what information is added to the
inverted index, for search and highlighting purposes.  It accepts the
following settings:

[horizontal]
`docs`::

    Only the doc number is indexed.  Can answer the question _Does this term
    exist in this field?_

`freqs`::

    Doc number and term frequencies are indexed.  Term frequencies are used to
    score repeated terms higher than single terms.

`positions`::

    Doc number, term frequencies, and term positions (or order) are indexed.
    Positions can be used for
    <<query-dsl-match-query-phrase,proximity or phrase queries>>.

`offsets`::

    Doc number, term frequencies, positions, and start and end character
    offsets (which map the term back to the original string) are indexed.
    Offsets are used by the <<unified-highlighter,unified highlighter>> to speed up highlighting.

NOTE: <<number,Numeric fields>> don't support the `index_options` parameter any longer.

<<mapping-index,Analyzed>> string fields use `positions` as the default, and
all other fields use `docs` as the default.

[source,js]
--------------------------------------------------
PUT my_index
{
  "mappings": {
    "_doc": {
      "properties": {
        "text": {
          "type": "text",
          "index_options": "offsets"
        }
      }
    }
  }
}

PUT my_index/_doc/1
{
  "text": "Quick brown fox"
}

GET my_index/_search
{
  "query": {
    "match": {
      "text": "brown fox"
    }
  },
  "highlight": {
    "fields": {
      "text": {} <1>
    }
  }
}
--------------------------------------------------
// CONSOLE
<1> The `text` field will use the postings for the highlighting by default because `offsets` are indexed.
