elasticsearch/docs/reference/search/render-search-template-api.asciidoc

86 lines
2.1 KiB
Text

[[render-search-template-api]]
=== Render search template API
++++
<titleabbrev>Render search template</titleabbrev>
++++
Renders a <<search-template,search
template>> as a <<search-search,search request body>>.
////
[source,console]
----
PUT _scripts/my-search-template
{
"script": {
"lang": "mustache",
"source": {
"query": {
"match": {
"message": "{{query_string}}"
}
},
"from": "{{from}}",
"size": "{{size}}"
}
}
}
----
// TESTSETUP
////
[source,console]
----
POST _render/template
{
"id": "my-search-template",
"params": {
"query_string": "hello world",
"from": 20,
"size": 10
}
}
----
[[render-search-template-api-request]]
==== {api-request-title}
`GET _render/template`
`GET _render/template/<template-id>`
`POST _render/template`
`POST _render/template/<template-id>`
[[render-search-template-api-prereqs]]
==== {api-prereq-title}
* If the {es} {security-features} are enabled, you must have the `read`
<<privileges-list-indices,index privilege>> for at least one index pattern.
[[render-search-template-api-path-params]]
==== {api-path-parms-title}
`<template-id>`::
(Required*, string) ID of the search template to render. If no `source` is
specified, this or the `id` request body parameter is required.
[[render-search-template-api-request-body]]
==== {api-request-body-title}
`id`::
(Required*, string) ID of the search template to render. If no `source` is
specified, this or the `<template-id>` request path parameter is required. If
you specify both this parameter and the `<template-id>` parameter, the API uses
only `<template-id>`.
`params`::
(Optional, object) Key-value pairs used to replace Mustache variables in the
template. The key is the variable name. The value is the variable value.
`source`::
(Required*, object) An inline search template. Supports the same parameters as
the <<search-search,search API>>'s request body. These parameters also support
https://mustache.github.io/[Mustache] variables. If no `id` or `<templated-id>`
is specified, this parameter is required.