docs/reference/elasticsearch/mapping-reference/term-vector.md
Term vectors contain information about the terms produced by the analysis process, including:
These term vectors can be stored so that they can be retrieved for a particular document.
Refer to the term vectors API examples page for usage examples.
The term_vector setting accepts:
no
: No term vectors are stored. (default)
yes
: Just the terms in the field are stored.
with_positions
: Terms and positions are stored.
with_offsets
: Terms and character offsets are stored.
with_positions_offsets
: Terms, positions, and character offsets are stored.
with_positions_payloads
: Terms, positions, and payloads are stored.
with_positions_offsets_payloads
: Terms, positions, offsets and payloads are stored.
The fast vector highlighter requires with_positions_offsets. The term vectors API can retrieve whatever is stored.
::::{warning}
Setting with_positions_offsets will double the size of a field’s index.
::::
PUT my-index-000001
{
"mappings": {
"properties": {
"text": {
"type": "text",
"term_vector": "with_positions_offsets"
}
}
}
}
PUT my-index-000001/_doc/1
{
"text": "Quick brown fox"
}
GET my-index-000001/_search
{
"query": {
"match": {
"text": "brown fox"
}
},
"highlight": {
"fields": {
"text": {} <1>
}
}
}
text field because term vectors are enabled.