Getting started with Elastic Enterprise Search
editGetting started with Elastic Enterprise Search
editThis document helps you choose the right Enterprise Search tools for your use case. Prefer to start with an example? See Getting started with website search.
Elastic Enterprise Search is a collection of tools for searching content. Use these tools to build search experiences for your customers and internal teams.
To get started, first satisfy the prerequisites. Then learn about tool compatibility and choose your tools.
Prerequisites
editEnterprise Search tools are features of the Elastic search platform. Therefore, to use these tools you must first have an Elastic subscription, deployment, and user (or token).
Elastic subscription
editIf you are new to Elastic, get started for free on Elastic Cloud.
Alternatively, create a deployment on your local machine (see next section).
See Elastic subscription for additional options to manage your Elastic subscription.
Elastic deployment
editYou need an Elastic deployment to store your documents. Choose an existing deployment, or create a new deployment on Elastic Cloud.
To use engines or content sources, your deployment must include the Enterprise Search server. New deployments on Elastic Cloud always include this service. However, when unused, Elastic Cloud will eventually disable the service. If using an existing deployment, you may need to re-enable the Enterprise Search service.
To create a deployment on your local machine, see Run using Docker images or Run using downloads (packages). For additional options, see Elastic deployment.
Elastic user (or token)
editAccess to Enterprise Search varies by feature. You will need a user or token with the necessary permissions.
The Elastic Cloud user used to create a deployment is a superuser who can access all Enterprise Search features. Use this user account, or create additional users or tokens with the necessary permissions.
At a minimum, users must have access to the Enterprise Search space in order to access Enterprise Search in Kibana.
See Kibana spaces for more information about configuring access to spaces.
Users must also have read
and manage
privileges for indices with the pattern search-*
in order to create an Elasticsearch index through the Enterprise Search in Kibana.
App Search and Workplace Search features use role-based access control. See Users and access to grant or restrict access to App Search and Workplace Search features.
See Elastic users (or tokens) for more details.
Choosing tools
editTo design your search solution, first choose the right tools for the job.
Implementations generally have the same abstract steps, which are presented below. For each step, choose the tools that apply to your use case. Follow the links for those tools to continue with your implementation.
- Create and manage documents: Document management and data integrations
- Search those documents: Search experiences and UI integrations
- Optimize the search results: Results, relevance, and optimization
- Gain insights to further improve your search experience: Analytics and insights
Most tools are compatible with one another. Learn more about tool compatibility for the nuances in how tools interact.
Document management and data integrations
editTools in this category help you consolidate content from various data sources into Elasticsearch. For each original data source, you must extract the content, transform the content into documents, and store those documents in Elasticsearch.
You may need to complete this process only once, or you may need to integrate Elastic with other software to keep your Elasticsearch documents in sync with your various data sources.
Determine which content you would like to search and how to access it. Review the following table to find the best tool for each data source.
Most of the following tools operate on indices. Keep this in mind when choosing your search tools. Remember that you can create an engine for each index, if desired.
Tools | Description | Operates on |
---|---|---|
Existing indices |
Use your existing Elasticsearch indices. Search using tools that operate directly on indices, or create an engine from an index to use engine-specific tools. |
|
Extract and transform web content—HTML pages and files served over HTTP—into Elasticsearch documents. |
||
Workplace Search connectors |
Sync data from a variety of content services to documents within Elasticsearch. Manage connectors within Kibana. See content sources for the available services. (Connector packages require your own infrastructure.) |
|
Build a connector that syncs data from any content service to documents within Elasticsearch. Manage the connector using the Kibana UI. (Requires your own infrastructure.) |
||
Elasticsearch index APIs |
Manage Elasticsearch indices and documents using Elastic platform tools. Create, read, update, and delete documents manually or programatically, using APIs for HTTP or a variety of programming languages. |
|
Upload a structured data file to convert each record to an Elasticsearch document. Use this for testing, one-time imports, or manual export/import between systems. |
||
Confirm imported documents and manage your Elasticsearch data in this general-purpose document UI. |
||
Use these platform tools to integrate with a wide variety of data sources. Refer to the following resources for lists of available data sources: Elastic integrations, Logstash input plugins, and What are Beats?. |
Search experiences and UI integrations
editUse tools in this category to search your documents or build search experiences for your customers, teams, or other audiences. Search using an existing UI, quickly generate a search UI, or integrate search into existing applications.
Most of the following tools operate on engines. Keep this in mind when choosing your document management tools. Remember that you can create an engine for each index, if desired.
From a single search UI, you can search multiple indices, multiple engines, or multiple content sources. To search multiple engines, create a meta engine.
You cannot combine documents from indices, engines, and content sources within the same search results. See Engines and content sources for various solutions, including creating engines from indices.
Tools | Description | Operates on |
---|---|---|
Use components to build a user interface to search your documents. Integrate a search experience into an existing application, or quickly build a search UI for testing and proof-of-concept use cases. Search UI connectors provide compatibility with Elasticsearch, App Search, and Workplace Search. |
||
Use this App Search UI to generate a search experience powered by Search UI. Use the generated application in your browser, deploy to Netlify, or download the source code to run anywhere. |
||
Search your engines and content sources using a programming language API. Integrate search experiences into your existing applications. A variety of languages are available. |
||
Search your documents using an API optimized for content search. Benefit from default tuning, and customize your experience using the other tools in this table. |
||
Aggregate fields and return facets along with your results. API reference. |
||
Filter, group, or sort search results. Use these features to enable UI controls or implement custom searches. |
||
Search API result fields |
Choose which fields appear in your results—per query or per engine. Further customize results with sanitized highlights and field size limits. |
|
Search as your users type to return relevant query suggestions. Optionally combine suggested queries with suggested results to improve your search autocompletion. API reference. |
||
Record clicks on search results, or send arbitrary data along with each query. Use these features to gain insights and implement advanced features like personalization. Tags API reference. |
||
Elasticsearch |
Use the full power of the Elasticsearch |
|
Elasticsearch search APIs |
Use these platform tools to search your documents and implement search experiences while operating directly on Elasticsearch indices. |
|
Search and browse documents within Kibana. Use this UI for testing or internal searches where no additional search UI is required. |
Results, relevance, and optimization
editUse the tools in this category to optimize your search results. Most tools are available via UI and API.
All of the following tools operate on engines. Remember that you can create an engine for each index.
Tools | Description | Operates on |
---|---|---|
Choose which fields to search and the relative weight of each field within a document. |
||
Boost a document’s score based on the values of specific fields. |
||
Choose which fields appear within the search results. Further customize results with sanitized highlights and field size limits. |
||
Use a simple numeric value to affect multiple aspects of a query, including analyzers, fuzziness, and term and phrase matching. (May require text subfields.) |
||
Use these UIs and APIs to set default query parameters per engine. Manage the following parameters: search fields, boosts, results fields, and precision tuning. |
||
Customize search results for specific queries. Promote and hide documents within the results. Manage curations manually, or receive automated suggestions, powered by adaptive relevance. Curations API reference. Adaptive relevance API reference. |
||
Manage synonyms through a UI or API. API reference. |
Analytics and insights
editTo further optimize your search experience, use the following tools to analyze the performance of your search results.
All of the following tools operate on engines. Remember that you can create an engine for each index.
Tools | Description | Operates on |
---|---|---|
Evalute search results' performance and gain valuable insights via UI or API. Analyze queries, clicks, counts, and tags. Clicks API reference. Tags guide. |
Tool compatibility
editSome Enterprise Search tools operate directly on Elasticsearch indices. Other tools require App Search engines or Workplace Search content sources to enable additional features. Elasticsearch indices live at the core of engines and content sources. In many cases, you can improve compatibility with tools by using an engine created from the underlying Elasticsearch indices.
Elasticsearch indices
editElasticsearch stores and retrieves documents from indices (singular: index). Most Elastic platform tools operate directly on indices. However, many Enterprise Search tools operate on App Search engines.
- From an index, you can create an App Search engine.
- Given an engine, you can access its underlying Elasticsearch index.
App Search engines
editEngines are based on Elasticsearch indices and optimized for content search. They are language-specific and pre-tuned.
A meta engine allows searching over multiple engines.
See Engines and content sources for how to create engines from indices and content sources.
Workplace Search content sources
editWorkplace Search connectors sync to Workplace Search content sources. Content sources are based on Elasticsearch indices and optimized for content search.
To improve compatibility with tools that operate on engines and indices, refer to the following solutions: