Getting started with Elastic Enterprise Searchedit

This 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.

Prerequisitesedit

Enterprise 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 subscriptionedit

If 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 deploymentedit

You 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)edit

Access 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 toolsedit

To 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.

  1. Create and manage documents: Document management and data integrations
  2. Search those documents: Search experiences and UI integrations
  3. Optimize the search results: Results, relevance, and optimization
  4. 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 integrationsedit

Tools 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.

Indices

Web crawler

Extract and transform web content—​HTML pages and files served over HTTP—​into Elasticsearch documents.

Indices

Workplace Search connectors

Workplace Search connector packages

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.)

Content sources

Build a connector

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.)

Indices

Elasticsearch index APIs

Elasticsearch document APIs

Dev tools UI

Elasticsearch language clients

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.

Indices

Data file upload UI

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.

Indices

Discover UI

Confirm imported documents and manage your Elasticsearch data in this general-purpose document UI.

Indices

Fleet and Agent

Logstash

Beats

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?.

Indices

Search experiences and UI integrationsedit

Use 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

Search UI

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.

Indices

Engines

Content sources

Search UI generator for App 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.

Engines

Enterprise Search language clients

Search your engines and content sources using a programming language API. Integrate search experiences into your existing applications. A variety of languages are available.

Engines

Content sources

App Search search API

App Search multi search API

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.

Engines

Search API facets

Aggregate fields and return facets along with your results. API reference.

Engines

Search API filtering

Search API grouping

Search API sorting

Filter, group, or sort search results. Use these features to enable UI controls or implement custom searches.

Engines

Search API result fields

Result settings UI

Search settings UI

Choose which fields appear in your results—​per query or per engine. Further customize results with sanitized highlights and field size limits.

Engines

Query suggestions API

Search as your users type to return relevant query suggestions. Optionally combine suggested queries with suggested results to improve your search autocompletion. API reference.

Engines

Clicks (analytics)

Tags (analytics)

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.

Engines

Elasticsearch _search API for App Search

Search explain API for App Search

Use the full power of the Elasticsearch _search API with App Search engines. API reference. Use the search_explain API to convert an App Search query into an Elasticsearch query. Build on these queries to expand beyond the capabilities of the App Search API.

Engines

Elasticsearch search APIs

Dev tools UI

Elasticsearch language clients

Use these platform tools to search your documents and implement search experiences while operating directly on Elasticsearch indices.

Indices

Discover UI

Search and browse documents within Kibana. Use this UI for testing or internal searches where no additional search UI is required.

Indices

Results, relevance, and optimizationedit

Use 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

Search API search fields

Choose which fields to search and the relative weight of each field within a document.

Engines

Search API boosts

Boost a document’s score based on the values of specific fields.

Engines

Search API result fields

Choose which fields appear within the search results. Further customize results with sanitized highlights and field size limits.

Engines

Precision tuning

Use a simple numeric value to affect multiple aspects of a query, including analyzers, fuzziness, and term and phrase matching. (May require text subfields.)

Engines

Relevance tuning UI

Result settings UI

Search settings API

Use these UIs and APIs to set default query parameters per engine. Manage the following parameters: search fields, boosts, results fields, and precision tuning.

Engines

Curations, powered by adaptive relevance

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.

Engines

App Search synonyms

Manage synonyms through a UI or API. API reference.

Engines

Analytics and insightsedit

To 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

App Search analytics

Evalute search results' performance and gain valuable insights via UI or API. Analyze queries, clicks, counts, and tags. Clicks API reference. Tags guide.

Engines

Tool compatibilityedit

Some 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 indicesedit

Elasticsearch 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.

App Search enginesedit

Engines 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 sourcesedit

Workplace 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: