原文地址: https://www.elastic.co/guide/en/elasticsearch/reference/7.7/index-options.html, 原文档版权归 www.elastic.co 所有

index_optionsedit

The index_options parameter controls what information is added to the inverted index for search and highlighting purposes.

The index_options parameter is intended for use with text fields only. Avoid using index_options with other field datatypes.

It accepts the following values:

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 (default)
Doc number, term frequencies, and term positions (or order) are indexed. Positions can be used for 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 to speed up highlighting.
PUT my_index
{
  "mappings": {
    "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": {} 
    }
  }
}

The text field will use the postings for the highlighting by default because offsets are indexed.