Обертка
Запрос обертки позволяет отправлять полный запрос в формате JSON, закодированном в Base64.
Запрос обертки позволяет отправлять полный запрос в формате JSON, закодированном в Base64. Это полезно, когда запрос необходимо встроить в контексты, которые поддерживают только строковые значения.
Используйте этот запрос только в тех случаях, когда необходимо управлять системными ограничениями. Для читаемости и удобства обслуживания лучше использовать стандартные запросы на основе JSON, когда это возможно.
Пример
Создайте индекс с именем products
со следующими настройками:
PUT /products
{
"mappings": {
"properties": {
"title": { "type": "text" }
}
}
}
Индексируйте пример документов:
POST /products/_bulk
{ "index": { "_id": 1 } }
{ "title": "Беспроводные наушники с шумоподавлением" }
{ "index": { "_id": 2 } }
{ "title": "Bluetooth колонка" }
{ "index": { "_id": 3 } }
{ "title": "Наушники накладного типа с глубоким басом" }
Закодируйте следующий запрос в формате Base64:
echo -n '{ "match": { "title": "headphones" } }' | base64
Выполните закодированный запрос:
POST /products/_search
{
"query": {
"wrapper": {
"query": "eyAibWF0Y2giOiB7ICJ0aXRsZSI6ICJoZWFkcGhvbmVzIiB9IH0="
}
}
}
Ответ
Ответ содержит два соответствующих документа:
{
...
"hits": {
"total": {
"value": 2,
"relation": "eq"
},
"max_score": 0.20098841,
"hits": [
{
"_index": "products",
"_id": "1",
"_score": 0.20098841,
"_source": {
"title": "Беспроводные наушники с шумоподавлением"
}
},
{
"_index": "products",
"_id": "3",
"_score": 0.18459359,
"_source": {
"title": "Наушники накладного типа с глубоким басом"
}
}
]
}
}