2015-08-06 11:24:29 -04:00
|
|
|
[[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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
[source,js]
|
|
|
|
--------------------------------------------------
|
2019-01-22 09:13:52 -05:00
|
|
|
PUT my_index
|
2015-08-06 11:24:29 -04:00
|
|
|
{
|
|
|
|
"mappings": {
|
2019-01-22 09:13:52 -05:00
|
|
|
"properties": {
|
|
|
|
"text": {
|
|
|
|
"type": "text",
|
|
|
|
"term_vector": "with_positions_offsets"
|
2015-08-06 11:24:29 -04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-12-14 11:47:53 -05:00
|
|
|
PUT my_index/_doc/1
|
2015-08-06 11:24:29 -04:00
|
|
|
{
|
|
|
|
"text": "Quick brown fox"
|
|
|
|
}
|
|
|
|
|
|
|
|
GET my_index/_search
|
|
|
|
{
|
|
|
|
"query": {
|
|
|
|
"match": {
|
|
|
|
"text": "brown fox"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"highlight": {
|
|
|
|
"fields": {
|
|
|
|
"text": {} <1>
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
--------------------------------------------------
|
2016-05-09 09:42:23 -04:00
|
|
|
// CONSOLE
|
2015-08-06 11:24:29 -04:00
|
|
|
<1> The fast vector highlighter will be used by default for the `text` field
|
|
|
|
because term vectors are enabled.
|
|
|
|
|