- Enterprise Search Guide: other versions:
- Getting started
- Prerequisites
- Ingestion
- Document level security
- Web crawler
- Connectors
- Native connectors
- Connector clients
- Elastic connector framework
- Workplace Search connectors
- Using connectors
- Known issues
- Troubleshooting
- Logs
- Security
- Content syncs
- Sync rules
- Content extraction
- Reference: Azure Blob Storage
- Reference: Confluence
- Reference: Dropbox
- Reference: Google Cloud Storage
- Reference: Jira
- Reference: Microsoft SQL
- Reference: MongoDB
- Reference: MySQL
- Reference: Network drive
- Reference: Oracle
- Reference: PostgreSQL
- Reference: S3
- Reference: ServiceNow
- Reference: SharePoint Online
- Reference: SharePoint Server
- Ingestion APIs
- Ingest pipelines
- Document enrichment with ML
- ELSER text expansion
- Indices, engines, content sources
- Programming language clients
- Behavioral analytics
- Search UI
- App Search and Workplace Search
- Search Applications
- Enterprise Search server
- Run using Docker images
- Run using downloads (packages)
- Enterprise Search server known issues
- Troubleshooting
- Troubleshooting setup
- Monitoring
- Read-only mode
- Management APIs
- Monitoring APIs
- Read-only mode API
- Storage API
- Configuration
- Configuring encryption keys
- Configuring a mail service
- Configuring SSL/TLS
- Upgrading and migrating
- Upgrading self-managed deployments
- Upgrading from Enterprise Search 7.x
- Upgrading from Enterprise Search 7.11 and earlier
- Migrating from App Search on Elastic Cloud
- Migrating from App Search on Swiftype.com
- Migrating from self-managed App Search
- Logs and logging
- Known issues
- Troubleshooting
- Help, support, and feedback
- Release notes
- 8.9.2 release notes
- 8.9.1 release notes
- 8.9.0 release notes
- 8.8.2 release notes
- 8.8.1 release notes
- 8.8.0 release notes
- 8.7.1 release notes
- 8.7.0 release notes
- 8.6.2 release notes
- 8.6.1 release notes
- 8.6.0 release notes
- 8.5.3 release notes
- 8.5.2 release notes
- 8.5.1 release notes
- 8.5.0 release notes
- 8.4.3 release notes
- 8.4.2 release notes
- 8.4.1 release notes
- 8.4.0 release notes
- 8.3.3 release notes
- 8.3.2 release notes
- 8.3.1 release notes
- 8.3.0 release notes
- 8.2.3 release notes
- 8.2.2 release notes
- 8.2.1 release notes
- 8.2.0 release notes
- 8.1.3 release notes
- 8.1.2 release notes
- 8.1.1 release notes
- 8.1.0 release notes
- 8.0.1 release notes
- 8.0.0 release notes
- 8.0.0-rc2 release notes
- 8.0.0-rc1 release notes
- 8.0.0-beta1 release notes
- 8.0.0-alpha2 release notes
- 8.0.0-alpha1 release notes
Elastic Search Applications
editElastic Search Applications
editSearch Applications enable users to build search-powered applications that leverage the full power of Elasticsearch and its Query DSL, with a simplified user experience. Create search applications based on your Elasticsearch indices, build queries using search templates, and easily preview your results directly in the Enterprise Search Kibana UI.
You can also interact with your search applications using the Elasticsearch Search Application
APIs.
Search Applications are designed to simplify building unified search experiences across a range of enterprise search use cases, using the Elastic platform.
Availability and prerequisites
editThe Search Applications feature was introduced in Elastic version 8.8.0.
Search Applications is a beta feature. Beta features are subject to change and are not covered by the support SLA of general release (GA) features. Elastic plans to promote this feature to GA in a future release.
This feature is available to all Elastic Cloud deployments.
This feature is also available to self-managed deployments when the subscription requirements are satisfied. View the requirements for this feature under the Elastic Enterprise Search section of the Elastic Stack subscriptions page.
Your deployment must include the Elasticsearch and Kibana services.
Managing search applications requires the manage_search_application
cluster privilege, and also requires manage privileges on all indices associated with the search application.
App Search and Workplace Search remain as-is, and are still available as separate, standalone experiences, independent of Search Applications.
Overview
editThe Elasticsearch Query DSL is powerful and flexible, but it comes with a steep learning curve. Complex queries are verbose and hard to understand for non-experts. We’ve designed search applications to be easier to search over, but with the flexibility of working with an Elasticsearch index.
Search Applications use search templates to simplify the process of building queries. Templates are defined when creating a search application, and can be customized according to your needs. Read search applications templates for the details.
Get started
editOption 1: Get started in the UI
editYou can create build, and manage your search applications directly in the Kibana UI under Enterprise Search. Make sure you have at least one Elasticsearch index to work with on your deployment. The indices underlying your search application are searched together, similar to how an alias searches over multiple indices.
Making changes to the underlying indices and alias attached to your search application can result in unexpected search results.
If we detect an inconsistent state, search results will be returned with a Warning
header.
To resolve inconsistencies use the Put Search Application API to update your search application.
To create a new search application in Kibana:
- Go to Enterprise Search > Search Applications.
- Select Create.
- Select the Elasticsearch indices you want to use for your search application.
- Name your search application.
- Select Create.
Your search application should now be available in the list of search applications.

Once created, you can preview searches against your search application under Enterprise Search > Search Applications > your-search-application > Search Preview. From there, you can expand a matching Elasticsearch document to see its full contents.

Option 2: Get started with the API
editUse the Elasticsearch Put Search Application API to create a search application.
The following example creates a search application named my_search_application
that searches over the my_search_index1
and my_search_index2
indices, along with defining a simple search template (Refer to Default template example).
PUT /_application/search_application/my_search_application { "indices": [ "my_search_index1", "my_search_index2" ], "template": { "script": { "source": { "query": { "query_string": { "query": "{{query_string}}", "default_field": "{{default_field}}" } } }, "params": { "query_string": "*", "default_field": "*" } } } }
Search templates
editSearch templates are the heart of your search applications. The default template created for a search application is very minimal, and you’ll want to customize it to suit your needs. Search templates contains a number of examples to get you started, including the default template, as well as templates for text search, semantic search and hybrid search.
On this page