diff --git a/solutions/search.md b/solutions/search.md index 5cebc5bd9a..43baf42c84 100644 --- a/solutions/search.md +++ b/solutions/search.md @@ -24,27 +24,4 @@ Here are a few common real-world applications: | **Chatbots/RAG** | Enable natural conversations, provide context, maintain knowledge | Vector search, ML models, knowledge base integration | | **Geospatial search** | Process location queries, sort by proximity, filter by area | Geo-mapping, spatial indexing, distance calculations | -## Core implementation decisions -% TODO add diagram - -Building a search experience with {{es}} requires a number of fundamental implementation decisions: - -1. [**Deployment**](/deploy-manage/index.md): Where will you run Elastic? -1. [**Ingestion**](search/ingest-for-search.md): What tools will you use to get your content into {{es}}? -1. [**Search approaches**](search/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)](search/querying-for-search.md) will you use to express your search logic? - -Each decision builds on the previous ones, offering flexibility to mix and match approaches based on your needs. - -% TODO update/add URLs - - -% Scope notes: surface key features buried in the search APIs, turn some of the API doc content into feature-specific tutorials needs some polish to separate use cases from technologies - -% Use migrated content from existing pages that map to this page: - -% - [ ] ./raw-migrated-files/elasticsearch/elasticsearch-reference/search-with-elasticsearch.md -% - [ ] ./raw-migrated-files/docs-content/serverless/what-is-elasticsearch-serverless.md \ No newline at end of file diff --git a/solutions/search/api-quickstarts.md b/solutions/search/api-quickstarts.md index b35590fe49..c88b27dfa4 100644 --- a/solutions/search/api-quickstarts.md +++ b/solutions/search/api-quickstarts.md @@ -5,6 +5,10 @@ applies: --- # API quickstarts +:::{tip} +Prefer working in Python? Check out our executable [Python notebooks](https://github.com/elastic/elasticsearch-labs/tree/main/notebooks#readme) in the Elasticsearch Labs repository. +:::: + Use the following quickstarts to get hands-on experience with Elasticsearch APIs and tools: - [Index and search data using Elasticsearch APIs](elasticsearch-basics-quickstart.md): Learn about indices, documents, and mappings, and perform a basic search using the Query DSL. @@ -15,7 +19,7 @@ Use the following quickstarts to get hands-on experience with Elasticsearch APIs - [Hybrid search](hybrid-semantic-text.md): Learn how to combine semantic search using`semantic_text` with full-text search. - [Bring your own dense vector embeddings](vector/bring-own-vectors.md): Learn how to ingest dense vector embeddings into Elasticsearch. -:::{tip} +:::{note} To run the quickstarts, you need a running Elasticsearch cluster. Use [`start-local`](https://github.com/elastic/start-local) to set up a fast local dev environment in Docker, together with Kibana. Run the following command in your terminal: ```sh diff --git a/solutions/search/get-started.md b/solutions/search/get-started.md index 696465956a..790b1d0a47 100644 --- a/solutions/search/get-started.md +++ b/solutions/search/get-started.md @@ -9,37 +9,21 @@ applies: # Get started -% What needs to be done: Refine +## Core implementation decisions -% Use migrated content from existing pages that map to this page: +% TODO add diagram -% - [ ] ./raw-migrated-files/elasticsearch/elasticsearch-reference/run-elasticsearch-locally.md -% Notes: Needs quickstart install steps (local,cloud,serverless) -% - [ ] ./raw-migrated-files/elasticsearch/elasticsearch-reference/getting-started.md -% - [ ] ./raw-migrated-files/elasticsearch/elasticsearch-reference/full-text-filter-tutorial.md -% - [ ] ./raw-migrated-files/docs-content/serverless/elasticsearch-get-started.md -% - [ ] ./raw-migrated-files/docs-content/serverless/elasticsearch-connecting-to-es-serverless-endpoint.md -% Notes: ? -% - [ ] ./raw-migrated-files/kibana/kibana/search-space-connection-details.md +Building a search experience with {{es}} requires a number of fundamental implementation decisions: -% Internal links rely on the following IDs being on this page (e.g. as a heading ID, paragraph ID, etc): +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? -$$$find-cloud-id-cloud-self-managed$$$ +Each decision builds on the previous ones, offering flexibility to mix and match approaches based on your needs. -$$$create-an-api-key-cloud-self-managed$$$ - -$$$find-cloud-id-serverless$$$ - -$$$create-an-api-key-serverless$$$ - -$$$elasticsearch-get-started-create-project$$$ - -$$$elasticsearch-follow-guided-index-flow$$$ - -$$$elasticsearch-follow-in-product-getting-started$$$ - -$$$elasticsearch-explore-on-your-own$$$ - -$$$elasticsearch-get-started-create-api-key$$$ - -$$$full-text-filter-tutorial-create-index$$$ \ No newline at end of file +::::{tip} +Already have an {{es}} deployment? You can get started with our hands-on [quick start tutorials](api-quickstarts.md), or check out our [Python notebooks](https://github.com/elastic/elasticsearch-labs/tree/main/notebooks#readme). +:::: \ No newline at end of file diff --git a/solutions/search/querydsl-full-text-filter-tutorial.md b/solutions/search/querydsl-full-text-filter-tutorial.md index 26644b3429..ee96aed787 100644 --- a/solutions/search/querydsl-full-text-filter-tutorial.md +++ b/solutions/search/querydsl-full-text-filter-tutorial.md @@ -407,7 +407,7 @@ GET /cooking_blog/_search The `.keyword` suffix accesses the unanalyzed version of a field, enabling exact, case-sensitive matching. This works in two scenarios: 1. **When using dynamic mapping for text fields**. Elasticsearch automatically creates a `.keyword` sub-field. -2. **When text fields are explicitly mapped with a `.keyword` sub-field**. For example, we explicitly mapped the `category` field in [Step 1](get-started.md#full-text-filter-tutorial-create-index) of this tutorial. +2. **When text fields are explicitly mapped with a `.keyword` sub-field**. For example, we explicitly mapped the `category` field in [Step 1](#full-text-filter-tutorial-create-index) of this tutorial. :::: diff --git a/solutions/search/querying-for-search.md b/solutions/search/querying-for-search.md index 746cfd76b2..7d22219fe5 100644 --- a/solutions/search/querying-for-search.md +++ b/solutions/search/querying-for-search.md @@ -31,5 +31,5 @@ You can use the [{{es}} REST APIs](https://www.elastic.co/docs/api/doc/elasticse ::::{tip} -Try our hands-on [quick start tutorials](api-quickstarts.md) in the core {{es}} documentation to get started, or check out our [Python notebooks](https://github.com/elastic/elasticsearch-labs/tree/main/notebooks#readme). +Try our hands-on [quick start tutorials](api-quickstarts.md) to get started, or check out our [Python notebooks](https://github.com/elastic/elasticsearch-labs/tree/main/notebooks#readme). :::: \ No newline at end of file diff --git a/solutions/search/ranking/learning-to-rank-model-training.md b/solutions/search/ranking/learning-to-rank-model-training.md index 1aa8f86f57..5a8a4ea795 100644 --- a/solutions/search/ranking/learning-to-rank-model-training.md +++ b/solutions/search/ranking/learning-to-rank-model-training.md @@ -102,7 +102,7 @@ Building your dataset is a critical step in the training process. This involves ```python from eland.ml.ltr import FeatureLogger -# Create a feature logger that will be used to query {es} to retrieve the features: +# Create a feature logger that will be used to query {{es}} to retrieve the features: feature_logger = FeatureLogger(es_client, MOVIE_INDEX, ltr_config) ``` diff --git a/solutions/search/ranking/semantic-reranking.md b/solutions/search/ranking/semantic-reranking.md index e563e54661..8a37b0071a 100644 --- a/solutions/search/ranking/semantic-reranking.md +++ b/solutions/search/ranking/semantic-reranking.md @@ -102,7 +102,7 @@ To use semantic re-ranking in {{es}}, you need to: 2. **Create a `rerank` endpoint using the [{{es}} Inference API](https://www.elastic.co/guide/en/elasticsearch/reference/current/put-inference-api.html)**. The Inference API creates an inference endpoint and configures your chosen machine learning model to perform the re-ranking task. 3. **Define a `text_similarity_reranker` retriever in your search request**. The retriever syntax makes it simple to configure both the retrieval and re-ranking of search results in a single API call. -::::{dropdown} **Example search request** with semantic reranker +::::{dropdown} Example search request with semantic reranker The following example shows a search request that uses a semantic reranker to reorder the top-k documents based on their semantic similarity to the query. ```console diff --git a/solutions/search/run-elasticsearch-locally.md b/solutions/search/run-elasticsearch-locally.md index f3db164978..16cde929a5 100644 --- a/solutions/search/run-elasticsearch-locally.md +++ b/solutions/search/run-elasticsearch-locally.md @@ -4,12 +4,10 @@ mapped_urls: - https://www.elastic.co/guide/en/elasticsearch/reference/current/run-elasticsearch-locally.html applies: stack: - serverless: --- # Run {{es}} locally [run-elasticsearch-locally] - ::::{warning} **DO NOT USE THESE INSTRUCTIONS FOR PRODUCTION DEPLOYMENTS** diff --git a/solutions/search/search-connection-details.md b/solutions/search/search-connection-details.md index 581e971b0d..362d13a8fd 100644 --- a/solutions/search/search-connection-details.md +++ b/solutions/search/search-connection-details.md @@ -12,10 +12,10 @@ applies: To connect to your {{es}} deployment, you need either a Cloud ID or an {{es}} endpoint, depending on the deployment type you use. For secure connections, it’s recommended to use an API key for authentication. -* Learn how to [find your Cloud ID](get-started.md#find-cloud-id-cloud-self-managed) for Elastic Cloud or self-hosted deployments. -* Learn how to [create an API key](get-started.md#create-an-api-key-cloud-self-managed) for Elastic Cloud or self-hosted deployments. -* Learn how to [find your {{es}} endpoint or Cloud ID](get-started.md#find-cloud-id-serverless) for a serverless deployment. -* Learn how to [create an API key](get-started.md#create-an-api-key-serverless) for a serverless deployment. +* Learn how to [find your Cloud ID](#find-cloud-id-cloud-self-managed) for Elastic Cloud or self-hosted deployments. +* Learn how to [create an API key](#create-an-api-key-cloud-self-managed) for Elastic Cloud or self-hosted deployments. +* Learn how to [find your {{es}} endpoint or Cloud ID](#find-cloud-id-serverless) for a serverless deployment. +* Learn how to [create an API key](#create-an-api-key-serverless) for a serverless deployment. ## Elastic Cloud and self-hosted deployments [_elastic_cloud_and_self_hosted_deployments] diff --git a/solutions/search/serverless-elasticsearch-get-started.md b/solutions/search/serverless-elasticsearch-get-started.md index f02235d93c..b6463e8a42 100644 --- a/solutions/search/serverless-elasticsearch-get-started.md +++ b/solutions/search/serverless-elasticsearch-get-started.md @@ -3,7 +3,6 @@ navigation_title: "Get started on Serverless" mapped_urls: - https://www.elastic.co/guide/en/serverless/current/elasticsearch-connecting-to-es-serverless-endpoint.html applies: - stack: serverless: --- @@ -30,12 +29,12 @@ This automation allows you to focus on building your search applications and sol On this page, you will learn how to: -* [Create an {{es-serverless}} project](get-started.md#elasticsearch-get-started-create-project). +* [Create an {{es-serverless}} project](#elasticsearch-get-started-create-project). * Get started with {{es}}: - * [Option 1: Guided index flow](get-started.md#elasticsearch-follow-guided-index-flow): Follow the step-by-step tutorial provided in the UI to create an index and ingest data. - * [Option 2: In-product Getting Started guide](get-started.md#elasticsearch-follow-in-product-getting-started): Use the Getting Started page’s instructions to ingest data and perform your first search. - * [Option 3: Explore on your own](get-started.md#elasticsearch-explore-on-your-own): If you’re already familiar with {{es}}, retrieve your connection details, select an ingest method that suits your needs, and start searching. + * [Option 1: Guided index flow](#elasticsearch-follow-guided-index-flow): Follow the step-by-step tutorial provided in the UI to create an index and ingest data. + * [Option 2: In-product Getting Started guide](#elasticsearch-follow-in-product-getting-started): Use the Getting Started page’s instructions to ingest data and perform your first search. + * [Option 3: Explore on your own](#elasticsearch-explore-on-your-own): If you’re already familiar with {{es}}, retrieve your connection details, select an ingest method that suits your needs, and start searching. ## Create an {{es-serverless}} project [elasticsearch-get-started-create-project] @@ -80,8 +79,7 @@ Once your project is set up, you’ll be directed to a page where you can create ::::{note} -You won’t be able to view this API key again. If needed, refer to [Create a new API key](get-started.md#elasticsearch-get-started-create-api-key) to generate a new one. - +You won’t be able to view this API key again. If needed you'll need to generate a new one. :::: diff --git a/solutions/search/site-or-app.md b/solutions/search/site-or-app.md index 7f4f91703b..026c3f7fc5 100644 --- a/solutions/search/site-or-app.md +++ b/solutions/search/site-or-app.md @@ -9,7 +9,7 @@ applies: The following tools are available to help you add search to your site or app: -- [Clients](): Use programming language clients to integrate {es} with your application. +- [Clients](): Use programming language clients to integrate {{es}} with your application. - [Search UI](site-or-app/search-ui.md): Use the Search UI library to build a user interface for your search application. - [Behavioral analytics](site-or-app/behavioral-analytics.md): Use Behavioral Analytics to track user behavior and improve search relevance. - [Search Applications](search-applications.md): Use Search Applications to simplify the process of building search experiences, by leveraging [search templates](search-templates.md). \ No newline at end of file diff --git a/solutions/search/site-or-app/behavioral-analytics-event-reference.md b/solutions/search/site-or-app/behavioral-analytics-event-reference.md index 8b4350c74b..f0b3f10f92 100644 --- a/solutions/search/site-or-app/behavioral-analytics-event-reference.md +++ b/solutions/search/site-or-app/behavioral-analytics-event-reference.md @@ -190,7 +190,7 @@ Behavioral Analytics logs events using the [Elastic Common Schema^](https://www. ## Examples [behavioral-analytics-event-reference-examples] -::::{dropdown} **Expand** to see a full example of a `search` event data object: +::::{dropdown} Expand to see a full example of a search event data object: ```js { "@timestamp": [ @@ -258,7 +258,7 @@ Behavioral Analytics logs events using the [Elastic Common Schema^](https://www. :::: -::::{dropdown} **Expand** to see a full example of a `search_click` event data object: +::::{dropdown} Expand to see a full example of a searchclick event data object: ```js { "@timestamp": [ @@ -347,7 +347,7 @@ Behavioral Analytics logs events using the [Elastic Common Schema^](https://www. :::: -::::{dropdown} **Expand** to see a full example of a `pageview` event data object: +::::{dropdown} Expand to see a full example of a pageview event data object: ```js { "@timestamp": [ diff --git a/solutions/search/site-or-app/behavioral-analytics.md b/solutions/search/site-or-app/behavioral-analytics.md index b28ae44ca6..4909b66df9 100644 --- a/solutions/search/site-or-app/behavioral-analytics.md +++ b/solutions/search/site-or-app/behavioral-analytics.md @@ -24,7 +24,7 @@ Behavioral Analytics is a **beta feature**. Beta features are subject to change :::: -::::{dropdown} **Expand to learn about version history** +::::{dropdown} Expand to learn about version history * Behavioral Analytics was introduced in Elastic **8.7.0** to the Enterprise Search service. * There was a breaking schema change in **8.8.0**. (See [Migrating from 8.7 to 8.8](https://www.elastic.co/guide/en/enterprise-search/current/analytics-migration.html) in the Search documentation if you’re upgrading from 8.7 to 8.8.) * The feature was moved to Elasticsearch in **8.10**, meaning the Enterprise Search service is no longer required as of 8.10.