elasticsearch/docs/reference/docs/multi-termvectors.asciidoc
Julie Tibshirani 3f3cde41d3
Deprecate types in termvector and mtermvector requests. (#36182)
* Add deprecation warnings to `Rest*TermVectorsAction`, plus tests in `Rest*TermVectorsActionTests`.
* Deprecate relevant methods on the Java HLRC requests/ responses.
* Update documentation (for both the REST API and Java HLRC).
* For each REST yml test, create one version without types, and another legacy version that retains types (called *_with_types.yml).
2018-12-06 10:23:15 -08:00

107 lines
2.5 KiB
Text

[[docs-multi-termvectors]]
== Multi termvectors API
Multi termvectors API allows to get multiple termvectors at once. The
documents from which to retrieve the term vectors are specified by an index and id.
But the documents could also be artificially provided in the request itself.
The response includes a `docs`
array with all the fetched termvectors, each element having the structure
provided by the <<docs-termvectors,termvectors>>
API. Here is an example:
[source,js]
--------------------------------------------------
POST /_mtermvectors
{
"docs": [
{
"_index": "twitter",
"_id": "2",
"term_statistics": true
},
{
"_index": "twitter",
"_id": "1",
"fields": [
"message"
]
}
]
}
--------------------------------------------------
// CONSOLE
// TEST[setup:twitter]
See the <<docs-termvectors,termvectors>> API for a description of possible parameters.
The `_mtermvectors` endpoint can also be used against an index (in which case it
is not required in the body):
[source,js]
--------------------------------------------------
POST /twitter/_mtermvectors
{
"docs": [
{
"_id": "2",
"fields": [
"message"
],
"term_statistics": true
},
{
"_id": "1"
}
]
}
--------------------------------------------------
// CONSOLE
// TEST[setup:twitter]
If all requested documents are on same index and also the parameters are the same, the request can be simplified:
[source,js]
--------------------------------------------------
POST /twitter/_mtermvectors
{
"ids" : ["1", "2"],
"parameters": {
"fields": [
"message"
],
"term_statistics": true
}
}
--------------------------------------------------
// CONSOLE
// TEST[setup:twitter]
Additionally, just like for the <<docs-termvectors,termvectors>>
API, term vectors could be generated for user provided documents.
The mapping used is determined by `_index`.
[source,js]
--------------------------------------------------
POST /_mtermvectors
{
"docs": [
{
"_index": "twitter",
"doc" : {
"user" : "John Doe",
"message" : "twitter test test test"
}
},
{
"_index": "twitter",
"doc" : {
"user" : "Jane Doe",
"message" : "Another twitter test ..."
}
}
]
}
--------------------------------------------------
// CONSOLE
// TEST[setup:twitter]