Runs a search with a search template

POST /{index}/_search/template

Path parameters

  • index string | array[string] Required

    Comma-separated list of data streams, indices, and aliases to search. Supports wildcards (*).

Query parameters

  • If false, the request returns an error if any wildcard expression, index alias, or _all value targets only missing or closed indices. This behavior applies even if the request targets other open indices. For example, a request targeting foo*,bar* returns an error if an index starts with foo but no index starts with bar.

  • If true, network round-trips are minimized for cross-cluster search requests.

  • expand_wildcards string | array[string]

    Type of index that wildcard patterns can match. If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. Supports comma-separated values, such as open,hidden. Valid values are: all, open, closed, hidden, none.

  • explain boolean

    If true, the response includes additional details about score computation as part of a hit.

  • If true, specified concrete, expanded, or aliased indices are not included in the response when throttled.

  • If false, the request returns an error if it targets a missing or closed index.

  • Specifies the node or shard the operation should be performed on. Random by default.

  • profile boolean

    If true, the query execution is profiled.

  • routing string

    Custom value used to route operations to a specific shard.

  • scroll string

    Specifies how long a consistent view of the index should be maintained for scrolled search.

  • The type of the search operation.

    Values are query_then_fetch or dfs_query_then_fetch.

  • If true, hits.total are rendered as an integer in the response.

  • typed_keys boolean

    If true, the response prefixes aggregation and suggester names with their respective types.

application/json

Body Required

  • explain boolean

    If true, returns detailed information about score calculation as part of each hit.

  • id string
  • params object

    Key-value pairs used to replace Mustache variables in the template. The key is the variable name. The value is the variable value.

    Hide params attributes Show params attributes object
  • profile boolean

    If true, the query execution is profiled.

  • source string

    An inline search template. Supports the same parameters as the search API's request body. Also supports Mustache variables. If no id is specified, this parameter is required.

Responses

POST /{index}/_search/template
curl \
 -X POST http://api.example.com/{index}/_search/template \
 -H "Content-Type: application/json" \
 -d '{"explain":true,"id":"string","params":{"key":{}},"profile":true,"source":"string"}'