71 lines
1.8 KiB
Plaintext
71 lines
1.8 KiB
Plaintext
[[term-vector]]
|
|
=== `term_vector`
|
|
|
|
Term vectors contain information about the terms produced by the
|
|
<<analysis,analysis>> process, including:
|
|
|
|
* a list of terms.
|
|
* the position (or order) of each term.
|
|
* the start and end character offsets mapping the term to its
|
|
origin in the original string.
|
|
* payloads (if they are available) — user-defined binary data
|
|
associated with each term position.
|
|
|
|
These term vectors can be stored so that they can be retrieved for a
|
|
particular document.
|
|
|
|
The `term_vector` setting accepts:
|
|
|
|
[horizontal]
|
|
`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`.
|
|
<<docs-termvectors, The term vectors API>> can retrieve whatever is stored.
|
|
|
|
WARNING: Setting `with_positions_offsets` will double the size of a field's
|
|
index.
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
PUT my_index
|
|
{
|
|
"mappings": {
|
|
"properties": {
|
|
"text": {
|
|
"type": "text",
|
|
"term_vector": "with_positions_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 fast vector highlighter will be used by default for the `text` field
|
|
because term vectors are enabled.
|
|
|