API многократного получения векторов терминов
Получает несколько векторов терминов с одним запросом.
resp = client.mtermvectors(
docs=[
{
"_index": "my-index-000001",
"_id": "2",
"term_statistics": True
},
{
"_index": "my-index-000001",
"_id": "1",
"fields": [
"message"
]
}
],
)
print(resp) response = client.mtermvectors(
body: {
docs: [
{
_index: 'my-index-000001',
_id: '2',
term_statistics: true
},
{
_index: 'my-index-000001',
_id: '1',
fields: [
'message'
]
}
]
}
)
puts response const response = await client.mtermvectors({
docs: [
{
_index: "my-index-000001",
_id: "2",
term_statistics: true,
},
{
_index: "my-index-000001",
_id: "1",
fields: ["message"],
},
],
});
console.log(response); POST /_mtermvectors
{
"docs": [
{
"_index": "my-index-000001",
"_id": "2",
"term_statistics": true
},
{
"_index": "my-index-000001",
"_id": "1",
"fields": [
"message"
]
}
]
} Запрос
POST /_mtermvectors
POST /<index>/_mtermvectors
Предварительные условия
- Если включены функции безопасности Elasticsearch, у вас должны быть права
readна чтение индекса для целевого индекса или псевдонима индекса.
Описание
Вы можете указать существующие документы по индексу и ID или предоставить искусственные документы в теле запроса. Вы можете указать индекс в теле запроса или в URI запроса.
Ответ содержит массив docs со всеми полученными векторами терминов. Каждый элемент имеет структуру, предоставленную API векторов терминов.
Для получения дополнительной информации о содержащейся в ответе информации см. API векторов терминов.
Параметры пути
-
<index> - (Необязательно, строка) Название индекса, содержащего документы.
Параметры запроса
-
fields -
(Необязательно, строка) Список полей (разделенных запятыми) или выражения с подстановкой для включения в статистику.
Используется в качестве списка по умолчанию, если не указан конкретный список полей в параметрах
completion_fieldsилиfielddata_fields. -
field_statistics - (Необязательно, логическое значение) Если
true, ответ включает количество документов, сумму частот документов и сумму общих частот терминов. По умолчаниюtrue. -
<offsets> - (Необязательно, логическое значение) Если
true, ответ включает смещения терминов. По умолчаниюtrue. -
payloads - (Необязательно, логическое значение) Если
true, ответ включает данные терминов. По умолчаниюtrue. -
positions - (Необязательно, логическое значение) Если
true, ответ включает позиции терминов. По умолчаниюtrue. -
preference - (Необязательно, строка) Указывает узел или фрагмент, на котором следует выполнить операцию. По умолчанию случайный.
-
routing - (Необязательно, строка) Пользовательское значение, используемое для маршрутизации операций на определенный фрагмент.
-
realtime - (Необязательно, логическое значение) Если
true, запрос выполняется в реальном времени, а не в режиме почти реального времени. По умолчаниюtrue. См. Режим реального времени. -
term_statistics - (Необязательно, логическое значение) Если
true, ответ включает частоту терминов и частоту документов. По умолчаниюfalse. -
version - (Необязательно, логическое значение) Если
true, возвращает версию документа в составе результата. -
version_type - (Необязательно, перечисление) Конкретный тип версии:
external,external_gte.
Примеры
Если вы указываете индекс в URI запроса, индекс не нужно указывать для каждого документа в теле запроса:
resp = client.mtermvectors(
index="my-index-000001",
docs=[
{
"_id": "2",
"fields": [
"message"
],
"term_statistics": True
},
{
"_id": "1"
}
],
)
print(resp) response = client.mtermvectors(
index: 'my-index-000001',
body: {
docs: [
{
_id: '2',
fields: [
'message'
],
term_statistics: true
},
{
_id: '1'
}
]
}
)
puts response const response = await client.mtermvectors({
index: "my-index-000001",
docs: [
{
_id: "2",
fields: ["message"],
term_statistics: true,
},
{
_id: "1",
},
],
});
console.log(response); POST /my-index-000001/_mtermvectors
{
"docs": [
{
"_id": "2",
"fields": [
"message"
],
"term_statistics": true
},
{
"_id": "1"
}
]
} Если все запрашиваемые документы находятся в одном индексе и параметры одинаковы, можно использовать следующий упрощённый синтаксис:
resp = client.mtermvectors(
index="my-index-000001",
ids=[
"1",
"2"
],
parameters={
"fields": [
"message"
],
"term_statistics": True
},
)
print(resp) response = client.mtermvectors(
index: 'my-index-000001',
body: {
ids: [
'1',
'2'
],
parameters: {
fields: [
'message'
],
term_statistics: true
}
}
)
puts response const response = await client.mtermvectors({
index: "my-index-000001",
ids: ["1", "2"],
parameters: {
fields: ["message"],
term_statistics: true,
},
});
console.log(response); POST /my-index-000001/_mtermvectors
{
"ids": [ "1", "2" ],
"parameters": {
"fields": [
"message"
],
"term_statistics": true
}
} Искусственные документы
Вы также можете использовать mtermvectors для генерации векторов терминов для искусственных документов, предоставленных в теле запроса. Используемая схема определения определяется указанным _index.
resp = client.mtermvectors(
docs=[
{
"_index": "my-index-000001",
"doc": {
"message": "test test test"
}
},
{
"_index": "my-index-000001",
"doc": {
"message": "Another test ..."
}
}
],
)
print(resp) response = client.mtermvectors(
body: {
docs: [
{
_index: 'my-index-000001',
doc: {
message: 'test test test'
}
},
{
_index: 'my-index-000001',
doc: {
message: 'Another test ...'
}
}
]
}
)
puts response const response = await client.mtermvectors({
docs: [
{
_index: "my-index-000001",
doc: {
message: "test test test",
},
},
{
_index: "my-index-000001",
doc: {
message: "Another test ...",
},
},
],
});
console.log(response); POST /_mtermvectors
{
"docs": [
{
"_index": "my-index-000001",
"doc" : {
"message" : "test test test"
}
},
{
"_index": "my-index-000001",
"doc" : {
"message" : "Another test ..."
}
}
]
}
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/docs-multi-termvectors.html