Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 57 additions & 12 deletions solutions/search/get-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,28 +5,73 @@ mapped_pages:
applies_to:
stack:
serverless:
elasticsearch: all
products:
- id: elasticsearch
- id: cloud-serverless
navigation_title: Get started
description: To try out an {{es}} project or solution, pick your deployment type, search goals, and ingestion method.
---

# Get started
# Get started with {{es}}

## Core implementation decisions
New to {{es}}? Start building a search experience by setting up your first deployment, refining your search goals, and adding data.

% TODO add diagram
:::{note}
If you're looking for an introduction to the {{stack}} or the {{es}} product, go to [](/get-started/index.md) or [](/manage-data/data-store.md).
:::

Building a search experience with {{es}} requires a number of fundamental implementation decisions:
:::::{stepper}
::::{step} Choose your deployment type

1. [**Deployment**](/deploy-manage/index.md): Where will you run Elastic?
1. [**Ingestion**](ingest-for-search.md): What tools will you use to get your content into {{es}}?
1. [**Search approaches**](search-approaches.md): What search techniques and algorithms will you use to find relevant results?
1. **Implementation tools**: How will you write queries and interact with {{es}}?
- Which programming language client matches your application?
- Which API endpoints and [query language(s)](querying-for-search.md) will you use to express your search logic?
Elastic provides several self-managed and Elastic-managed options.
For simplicity and speed, try out [{{es-serverless}}](/solutions/search/serverless-elasticsearch-get-started.md).

Alternatively, create a [local development installation](/deploy-manage/deploy/self-managed/local-development-installation-quickstart.md) in Docker:

```sh
curl -fsSL https://elastic.co/start-local | sh
```

Check out the full list of [deployment types](/deploy-manage/deploy.md#choosing-your-deployment-type) to learn more.
::::

::::{step} Identify your search goals
Depending on your use case, you can choose multiple [search approaches](search-approaches.md), for example full-text and semantic search.
Each approach affects your options for storing and querying your data.

If you're unsure which approaches match your goals, you can try them out with sample data. For example, [](/solutions/search/get-started/semantic-search.md).

If you prefer to ingest your data first and transform or reindex it as needed later, skip to the next step.
::::
::::{{step}} Ingest your data

If your goals include vector or semantic AI-powered search, create vectorized data with built-in and third-party natural language processing (NLP) models and store it in an {{es}} vector database.
The approach that requires the least configuration involves adding `semantic_text` fields when ingesting your data.
This method is described in [](/solutions/search/semantic-search/semantic-search-semantic-text.md).

To learn about adding data for other search goals, go to [](/solutions/search/ingest-for-search.md).
For a broader overview of ingestion options, go to [](/manage-data/ingest.md).

If you're not ready to add your own data, you can use [sample data](/manage-data/ingest/sample-data.md) or create small data sets when you follow the instructions in the [quickstarts](/solutions/search/get-started/quickstarts.md).
::::

::::{{step}} Build your search queries

Your next steps will be to choose a method to write queries and interact with {{es}}.
You can pick a programming language [client](/reference/elasticsearch-clients/index.md) that matches your application and choose which [query languages](/solutions/search/querying-for-search.md) you will use to express your search logic.
Each decision builds on the previous ones, offering flexibility to mix and match approaches based on your needs.

::::{tip}
Already have an {{es}} deployment? You can get started with our hands-on [quickstart guides](/solutions/search/get-started/quickstarts.md), or check out our [Python notebooks](https://github.com/elastic/elasticsearch-labs/tree/main/notebooks#readme).
Not sure where to start exploring?
Get an introduction to [index and search basics](/solutions/search/get-started/index-basics.md) or [build your first search query with Python](/solutions/search/get-started/keyword-search-python.md).
::::
:::::

## Related resources

Use these resources to learn more about {{es}} or get started in a different way:

- [](/deploy-manage/deploy/deployment-comparison.md)
- [Get started with Query DSL search and filters](elasticsearch://reference/query-languages/query-dsl/full-text-filter-tutorial.md)
- [Get started with ES|QL queries](elasticsearch://reference/query-languages/esql/esql-getting-started.md)
- [Analyze eCommerce data with aggregations using Query DSL](/explore-analyze/query-filter/aggregations/tutorial-analyze-ecommerce-data-with-aggregations-using-query-dsl.md)
3 changes: 3 additions & 0 deletions solutions/search/get-started/quickstarts.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,10 @@ Follow the steps in these guides to get started quickly:

## Related resources

The following resources go deeper into specific features or use cases:

- [Get started with Query DSL search and filters](elasticsearch://reference/query-languages/query-dsl/full-text-filter-tutorial.md)
- [Get started with ES|QL queries](elasticsearch://reference/query-languages/esql/esql-getting-started.md)
- [Analyze eCommerce data with aggregations using Query DSL](/explore-analyze/query-filter/aggregations/tutorial-analyze-ecommerce-data-with-aggregations-using-query-dsl.md)
- [](/solutions/search/hybrid-semantic-text.md)
- [](/solutions/search/vector/bring-own-vectors.md)
Loading