Get started with search
New to search with Elasticsearch? Start building a search experience by setting up your first deployment, refining your search goals, and adding data. These core search capabilities are available to you regardless of your deployment type, solution, or project type.
If you're looking for an introduction to the Elastic Stack or the Elasticsearch product, go to Elastic fundamentals or The Elasticsearch data store.
-
Choose your deployment type
Elastic provides several self-managed and Elastic-managed options. For simplicity and speed, try out Elastic Cloud Serverless:
Create a serverless projectThere are two options to create serverless projects:
- If you are a new user, sign up for a free 14-day trial to create a serverless project. For more information about the Elastic Cloud trials, check Trial features.
- If you are an existing customer, log in to Elastic Cloud. On the home page, you will see a new option to create serverless projects. The
adminpredefined role or an equivalent custom role is required to create projects. Refer to User roles and privileges.
If you're not sure which project type to choose, select the Elasticsearch project type. This project type provides core Elasticsearch search capabilities along with additional UI tools to help you build search-powered applications faster.
When your project is created, you're ready to move on to the next step and to start creating indices, adding data, and performing searches.
Alternatively, create a local development installation in Docker:
curl -fsSL https://elastic.co/start-local | shCheck out the full list of deployment types to learn more.
-
(Optional) Try out a quickstart
Get hands-on experience with Elasticsearch using guided tutorials that walk you through common search scenarios:
- Index and search basics: Learn how to create indices, add documents, and perform searches
- Keyword search with Python: Build your first search query with Python
- Semantic search: Implement semantic search using embeddings
-
Identify your search goals
Depending on your use case, you can choose multiple search approaches, 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, Get started with semantic search.
If you prefer to ingest your data first and transform or reindex it as needed later, skip to the next 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 Elasticsearch vector database. The approach that requires the least configuration involves adding
semantic_textfields when ingesting your data. This method is described in Semantic search with semantic_text.To learn about adding data for other search goals, go to Ingest for search use cases. For a broader overview of ingestion options, go to Ingest: Bring your data to Elastic.
If you're not ready to add your own data, you can use sample data or create small data sets when you follow the instructions in the quickstarts.
The Elasticsearch home page in the UI also provides workflow guides for creating indices and ready-to-use code examples for ingesting data by using REST APIs.
-
Build your search queries
Your next steps will be to choose a method to write queries and interact with Elasticsearch. You can pick a programming language client that matches your application and choose which query languages 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.
Use these resources to learn more about Elasticsearch or get started in a different way: