Get term vector information
- POST also GET /{index}/_termvectors/{id}
- POST also GET /{index}/_termvectors
Get information and statistics about terms in the fields of a particular document.
You can retrieve term vectors for documents stored in the index or for artificial documents passed in the body of the request.
You can specify the fields you are interested in through the fields parameter or by adding the fields to the request body.
For example:
GET /my-index-000001/_termvectors/1?fields=message
Fields can be specified using wildcards, similar to the multi match query.
Term vectors are real-time by default, not near real-time.
This can be changed by setting realtime parameter to false.
You can request three types of values: term information, term statistics, and field statistics. By default, all term information and field statistics are returned for all fields but term statistics are excluded.
Term information
- term frequency in the field (always returned)
- term positions (
positions: true) - start and end offsets (
offsets: true) - term payloads (
payloads: true), as base64 encoded bytes
If the requested information wasn't stored in the index, it will be computed on the fly if possible. Additionally, term vectors could be computed for documents not even existing in the index, but instead provided by the user.
warn Start and end offsets assume UTF-16 encoding is being used. If you want to use these offsets in order to get the original text that produced this token, you should make sure that the string you are taking a sub-string of is also encoded using UTF-16.
Behaviour
The term and field statistics are not accurate.
Deleted documents are not taken into account.
The information is only retrieved for the shard the requested document resides in.
The term and field statistics are therefore only useful as relative measures whereas the absolute numbers have no meaning in this context.
By default, when requesting term vectors of artificial documents, a shard to get the statistics from is randomly selected.
Use routing only to hit a particular shard.
Refer to the linked documentation for detailed examples of how to use this API.
- Index privileges:
read
Query Parameters
-
fieldsFields A comma-separated list or wildcard expressions of fields to include in the statistics. It is used as the default list unless a specific field list is provided in the
completion_fieldsorfielddata_fieldsparameters.-
field_statisticsboolean · default: true If
true, the response includes:- The document count (how many documents contain this field).
- The sum of document frequencies (the sum of document frequencies for all terms in this field).
- The sum of total term frequencies (the sum of total term frequencies of each term in this field).
-
offsetsboolean · default: true If
true, the response includes term offsets.-
payloadsboolean · default: true If
true, the response includes term payloads.-
positionsboolean · default: true If
true, the response includes term positions.-
preferencestring The node or shard the operation should be performed on. It is random by default.
-
realtimeboolean · default: true If true, the request is real-time as opposed to near-real-time.
-
routingRouting A custom value that is used to route operations to a specific shard. Not allowed when
index.slice.enabledistruefor the target index; use_sliceinstead.-
term_statisticsboolean · default: false If
true, the response includes:- The total term frequency (how often a term occurs in all documents).
- The document frequency (the number of documents containing the current term).
By default these values are not returned since term statistics can have a serious performance impact.
-
versionnumber VersionNumber If
true, returns the document version as part of a hit.-
version_typeVersionType The version type.
Supported values include:
internal: Use internal versioning that starts at 1 and increments with each update or delete.external: Only index the document if the specified version is strictly higher than the version of the stored document or if there is no existing document.external_gte: Only index the document if the specified version is equal or higher than the version of the stored document or if there is no existing document. NOTE: Theexternal_gteversion type is meant for special use cases and should be used with care. If used incorrectly, it can result in loss of data.
-
Values:
internalexternalexternal_gte
Request
-
docobject -
An artificial document (a document not present in the index) for which you want to retrieve term vectors.
-
filterFilter -
Filter terms based on their tf-idf scores. This could be useful in order find out a good characteristic vector of a document. This feature works in a similar manner to the second phase of the More Like This Query.
- Reference
-
max_doc_freqnumber -
Ignore words which occur in more than this many docs. Defaults to unbounded.
-
max_num_termsnumber · default: 25 -
The maximum number of terms that must be returned per field.
-
max_term_freqnumber -
Ignore words with more than this frequency in the source doc. It defaults to unbounded.
-
max_word_lengthnumber · default: 0 -
The maximum word length above which words will be ignored. Defaults to unbounded.
-
min_doc_freqnumber · default: 1 -
Ignore terms which do not occur in at least this many docs.
-
min_term_freqnumber · default: 1 -
Ignore words with less than this frequency in the source doc.
-
min_word_lengthnumber · default: 0 -
The minimum word length below which words will be ignored.
-
per_field_analyzermap string to string -
Override the default per-field analyzer. This is useful in order to generate term vectors in any fashion, especially when using artificial documents. When providing an analyzer for a field that already stores term vectors, the term vectors will be regenerated.
-
fieldsstring Field -
A list of fields to include in the statistics. It is used as the default list unless a specific field list is provided in the
completion_fieldsorfielddata_fieldsparameters. -
field_statisticsboolean · default: true -
If
true, the response includes:- The document count (how many documents contain this field).
- The sum of document frequencies (the sum of document frequencies for all terms in this field).
- The sum of total term frequencies (the sum of total term frequencies of each term in this field).
-
offsetsboolean · default: true -
If
true, the response includes term offsets. -
payloadsboolean · default: true -
If
true, the response includes term payloads. -
positionsboolean · default: true -
If
true, the response includes term positions. -
term_statisticsboolean · default: false -
If
true, the response includes:- The total term frequency (how often a term occurs in all documents).
- The document frequency (the number of documents containing the current term).
By default these values are not returned since term statistics can have a serious performance impact.
-
routingstring Routing -
A custom value that is used to route operations to a specific shard.
- Reference
-
versionnumber VersionNumber -
If
true, returns the document version as part of a hit. -
version_typeVersionType -
The version type.
Supported values include:
internal: Use internal versioning that starts at 1 and increments with each update or delete.external: Only index the document if the specified version is strictly higher than the version of the stored document or if there is no existing document.external_gte: Only index the document if the specified version is equal or higher than the version of the stored document or if there is no existing document. NOTE: Theexternal_gteversion type is meant for special use cases and should be used with care. If used incorrectly, it can result in loss of data.
-
Values:
internalexternalexternal_gte
Response
-
foundbooleanrequired -
_idstring Id -
_indexstring IndexNamerequired -
term_vectorsmap string to TermVector -
<string>TermVector -
field_statisticsFieldStatistics -
doc_countnumberrequired -
sum_doc_freqnumberrequired -
sum_ttfnumberrequired -
termsmap string to Termrequired -
<string>Term -
doc_freqnumber -
scorenumber -
term_freqnumberrequired -
tokensToken -
end_offsetnumber -
payloadstring -
positionnumberrequired -
start_offsetnumber -
ttfnumber -
tooknumberrequired -
_versionnumber VersionNumberrequired