Put Search Application
editPut Search Application
editThis functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.
Creates or updates a Search Application.
Request
editPUT _application/search_application/<name>
Prerequisites
editRequires the manage_search_application cluster privilege.
Also requires manage privileges on all indices that are added to the Search Application.
Path parameters
edit-
create -
(Optional, Boolean) If
true, this request cannot replace or update existing Search Applications. Defaults tofalse. -
<body> -
(Required, object) Contains parameters for a search application:
Properties of
<body>objects-
indices - (Required, array of strings) The indices associated with this search application. All indices need to exist in order to be added to a search application.
-
template -
(Optional, object) The search template associated with this search application. The search application’s template is only stored and accessible through the search application.
- This search template must be a Mustache template.
- The template must contain a Mustache script and script source.
- The template may be modified with subsequent put search application requests.
- If no template is specified when creating a search application, or if a template is removed from a search application, we use the query_string defined in the template examples as a default.
- This template will be used by the search application search API to execute searches.
-
Response codes
edit-
404 -
Search Application
<name>does not exist. -
409 -
Search Application
<name>exists andcreateistrue.
Examples
editThe following example creates a new Search Application called my-app:
PUT _application/search_application/my-app?create
{
"indices": [ "index1", "index2" ],
"template": {
"script": {
"source": {
"query": {
"query_string": {
"query": "{{query_string}}",
"default_field": "{{default_field}}"
}
}
},
"params": {
"query_string": "*",
"default_field": "*"
}
}
}
}
The following example creates or updates an existing Search Application called my-app:
PUT _application/search_application/my-app
{
"indices": [ "index1", "index2", "index3" ],
"template": {
"script": {
"source": {
"query": {
"query_string": {
"query": "{{query_string}}",
"default_field": "{{default_field}}"
}
}
},
"params": {
"query_string": "*",
"default_field": "*"
}
}
}
}