Запрос к приложению поиска для рендеринга запроса
Данная функциональность находится в техническом предварительном просмотре и может быть изменена или удалена в будущих выпусках. Elastic постарается исправить любые проблемы, но функции в техническом предварительном просмотре не подпадают под SLA поддержки официальных функций GA.
На основе указанных параметров запроса генерируется запрос Elasticsearch с использованием шаблона поиска, связанного с приложением поиска, или по умолчанию, если шаблон не указан. Неуказанные параметры шаблона будут назначены значениям по умолчанию (если применимо). Возвращает конкретный запрос Elasticsearch, который будет сгенерирован и выполнен при вызове поиска в приложении поиска.
Запрос
POST _application/search_application/<name>/_render_query
Предварительные условия
Требуются права чтения для кэшированного псевдонима приложения поиска.
Тело запроса
-
params - (Необязательно, карта строк к объектам) Параметры запроса, используемые для генерации запроса Elasticsearch из шаблона поиска, связанного с приложением поиска. Если параметр, используемый в шаблоне поиска, не указан в
params, будет использовано значение параметра по умолчанию.
Приложение поиска может быть настроено для проверки параметров шаблона поиска. Дополнительную информацию см. в параметре dictionary в API put search application.
Коды ответов
-
400 -
Передан неверный параметр в шаблон поиска. Примеры включают:
- Отсутствует обязательный параметр
- Неверный тип данных параметра
- Неверное значение параметра
-
404 - Приложение поиска
<name>не найдено.
Примеры
Следующий пример генерирует запрос для приложения поиска под названием my-app, использующего шаблон поиска из примера поиска текста:
resp = client.search_application.render_query(
name="my-app",
params={
"query_string": "my first query",
"text_fields": [
{
"name": "title",
"boost": 5
},
{
"name": "description",
"boost": 1
}
]
},
)
print(resp) const response = await client.transport.request({
method: "POST",
path: "/_application/search_application/my-app/_render_query",
body: {
params: {
query_string: "my first query",
text_fields: [
{
name: "title",
boost: 5,
},
{
name: "description",
boost: 1,
},
],
},
},
});
console.log(response); POST _application/search_application/my-app/_render_query
{
"params": {
"query_string": "my first query",
"text_fields": [
{"name": "title", "boost": 5},
{"name": "description", "boost": 1}
]
}
} Пример ответа:
{
"from": 0,
"size": 10,
"query": {
"multi_match": {
"query": "my first query",
"fields": [
"description^1.0",
"title^5.0"
]
}
},
"explain": false
} В этом случае параметры from, size и explain не указаны в запросе, поэтому используются значения по умолчанию, указанные в шаблоне поиска.
© 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/search-application-render-query.html