mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-07-01 02:43:45 -04:00
* 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).
107 lines
2.5 KiB
Text
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]
|