From 1b95ce4d753903d70eea526d6739f6f9aa26095f Mon Sep 17 00:00:00 2001 From: Liam Thompson Date: Wed, 12 Feb 2025 16:00:49 +0100 Subject: [PATCH 1/7] Fix dropdown formatting --- solutions/search/ranking/semantic-reranking.md | 2 +- .../site-or-app/behavioral-analytics-event-reference.md | 6 +++--- solutions/search/site-or-app/behavioral-analytics.md | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) 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/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. From 2304771862bce3f00a4ef29dceaed856ca543627 Mon Sep 17 00:00:00 2001 From: Liam Thompson Date: Wed, 12 Feb 2025 16:12:37 +0100 Subject: [PATCH 2/7] Fix relative links, move get started --- solutions/search.md | 23 ----- solutions/search/fix-dropdowns.py | 85 +++++++++++++++++++ solutions/search/get-started.md | 28 +++--- .../querydsl-full-text-filter-tutorial.md | 2 +- solutions/search/search-connection-details.md | 8 +- .../serverless-elasticsearch-get-started.md | 10 +-- 6 files changed, 113 insertions(+), 43 deletions(-) create mode 100644 solutions/search/fix-dropdowns.py 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/fix-dropdowns.py b/solutions/search/fix-dropdowns.py new file mode 100644 index 0000000000..88ae8a5ee6 --- /dev/null +++ b/solutions/search/fix-dropdowns.py @@ -0,0 +1,85 @@ +#!/usr/bin/env python3 +import os +import re + +def clean_dropdown_line(line): + """Clean formatting from dropdown lines.""" + # Match dropdown syntax with any number of colons and potential formatting + dropdown_pattern = r'(:{2,})\s*{dropdown}\s*(.+?)\s*$' + + if match := re.match(dropdown_pattern, line): + colons = match.group(1) + content = match.group(2) + + # Remove markdown formatting + cleaned_content = ( + content + .replace('**', '') # Remove bold + .replace('*', '') # Remove italic + .replace('__', '') # Remove alternate bold + .replace('_', '') # Remove alternate italic + .replace('`', '') # Remove code formatting + .strip() # Remove extra whitespace + ) + + # Reconstruct the dropdown line + return f'{colons}{{dropdown}} {cleaned_content}\n' + + return line + +def process_file(filepath): + """Process a single file to clean dropdown formatting.""" + try: + with open(filepath, 'r', encoding='utf-8') as f: + lines = f.readlines() + + modified = False + new_lines = [] + + for line in lines: + if '{dropdown}' in line: + cleaned_line = clean_dropdown_line(line) + if cleaned_line != line: + modified = True + new_lines.append(cleaned_line) + else: + new_lines.append(line) + + if modified: + with open(filepath, 'w', encoding='utf-8') as f: + f.writelines(new_lines) + return True + + return False + + except Exception as e: + print(f"Error processing {filepath}: {str(e)}") + return False + +def process_markdown_files(directory): + """Recursively process all markdown files in directory.""" + modified_count = 0 + skipped_count = 0 + + for root, _, files in os.walk(directory): + for file in files: + if file.endswith('.md'): + filepath = os.path.join(root, file) + if process_file(filepath): + print(f"Modified: {filepath}") + modified_count += 1 + else: + print(f"Skipped: {filepath}") + skipped_count += 1 + + return modified_count, skipped_count + +if __name__ == "__main__": + current_dir = os.getcwd() + print(f"Processing markdown files in: {current_dir}") + + modified, skipped = process_markdown_files(current_dir) + + print(f"\nSummary:") + print(f"Files modified: {modified}") + print(f"Files skipped: {skipped}") \ No newline at end of file diff --git a/solutions/search/get-started.md b/solutions/search/get-started.md index 696465956a..11eff48afc 100644 --- a/solutions/search/get-started.md +++ b/solutions/search/get-started.md @@ -11,16 +11,8 @@ applies: % What needs to be done: Refine -% Use migrated content from existing pages that map to this page: -% - [ ] ./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 + % Internal links rely on the following IDs being on this page (e.g. as a heading ID, paragraph ID, etc): @@ -42,4 +34,20 @@ $$$elasticsearch-explore-on-your-own$$$ $$$elasticsearch-get-started-create-api-key$$$ -$$$full-text-filter-tutorial-create-index$$$ \ No newline at end of file +$$$full-text-filter-tutorial-create-index$$$ + + +## 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. \ 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/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..706ee8476c 100644 --- a/solutions/search/serverless-elasticsearch-get-started.md +++ b/solutions/search/serverless-elasticsearch-get-started.md @@ -30,12 +30,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,7 +80,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, refer to [Create a new API key](#elasticsearch-get-started-create-api-key) to generate a new one. :::: From 8e12e754493d61e27a848d5f029f55f8f26c65ae Mon Sep 17 00:00:00 2001 From: Liam Thompson Date: Wed, 12 Feb 2025 16:25:49 +0100 Subject: [PATCH 3/7] Update formatting, get started --- solutions/search/api-quickstarts.md | 6 +++- solutions/search/get-started.md | 34 +++---------------- solutions/search/querying-for-search.md | 2 +- .../learning-to-rank-model-training.md | 2 +- solutions/search/run-elasticsearch-locally.md | 2 -- .../serverless-elasticsearch-get-started.md | 1 - solutions/search/site-or-app.md | 2 +- 7 files changed, 13 insertions(+), 36 deletions(-) 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 11eff48afc..9f2c6e12e1 100644 --- a/solutions/search/get-started.md +++ b/solutions/search/get-started.md @@ -9,34 +9,6 @@ applies: # Get started -% What needs to be done: Refine - - - - -% Internal links rely on the following IDs being on this page (e.g. as a heading ID, paragraph ID, etc): - -$$$find-cloud-id-cloud-self-managed$$$ - -$$$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$$$ - - ## Core implementation decisions % TODO add diagram @@ -50,4 +22,8 @@ Building a search experience with {{es}} requires a number of fundamental implem - 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. \ No newline at end of file +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 [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/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/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/serverless-elasticsearch-get-started.md b/solutions/search/serverless-elasticsearch-get-started.md index 706ee8476c..6ee80a211c 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: --- 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 From 61b404a3c1f9f9e641afb3d6bc93e6ebc730eac7 Mon Sep 17 00:00:00 2001 From: Liam Thompson Date: Wed, 12 Feb 2025 16:27:26 +0100 Subject: [PATCH 4/7] Remove script --- solutions/search/fix-dropdowns.py | 85 ------------------------------- 1 file changed, 85 deletions(-) delete mode 100644 solutions/search/fix-dropdowns.py diff --git a/solutions/search/fix-dropdowns.py b/solutions/search/fix-dropdowns.py deleted file mode 100644 index 88ae8a5ee6..0000000000 --- a/solutions/search/fix-dropdowns.py +++ /dev/null @@ -1,85 +0,0 @@ -#!/usr/bin/env python3 -import os -import re - -def clean_dropdown_line(line): - """Clean formatting from dropdown lines.""" - # Match dropdown syntax with any number of colons and potential formatting - dropdown_pattern = r'(:{2,})\s*{dropdown}\s*(.+?)\s*$' - - if match := re.match(dropdown_pattern, line): - colons = match.group(1) - content = match.group(2) - - # Remove markdown formatting - cleaned_content = ( - content - .replace('**', '') # Remove bold - .replace('*', '') # Remove italic - .replace('__', '') # Remove alternate bold - .replace('_', '') # Remove alternate italic - .replace('`', '') # Remove code formatting - .strip() # Remove extra whitespace - ) - - # Reconstruct the dropdown line - return f'{colons}{{dropdown}} {cleaned_content}\n' - - return line - -def process_file(filepath): - """Process a single file to clean dropdown formatting.""" - try: - with open(filepath, 'r', encoding='utf-8') as f: - lines = f.readlines() - - modified = False - new_lines = [] - - for line in lines: - if '{dropdown}' in line: - cleaned_line = clean_dropdown_line(line) - if cleaned_line != line: - modified = True - new_lines.append(cleaned_line) - else: - new_lines.append(line) - - if modified: - with open(filepath, 'w', encoding='utf-8') as f: - f.writelines(new_lines) - return True - - return False - - except Exception as e: - print(f"Error processing {filepath}: {str(e)}") - return False - -def process_markdown_files(directory): - """Recursively process all markdown files in directory.""" - modified_count = 0 - skipped_count = 0 - - for root, _, files in os.walk(directory): - for file in files: - if file.endswith('.md'): - filepath = os.path.join(root, file) - if process_file(filepath): - print(f"Modified: {filepath}") - modified_count += 1 - else: - print(f"Skipped: {filepath}") - skipped_count += 1 - - return modified_count, skipped_count - -if __name__ == "__main__": - current_dir = os.getcwd() - print(f"Processing markdown files in: {current_dir}") - - modified, skipped = process_markdown_files(current_dir) - - print(f"\nSummary:") - print(f"Files modified: {modified}") - print(f"Files skipped: {skipped}") \ No newline at end of file From b6ad2524319aebe9858f334ced74f4607165ef7e Mon Sep 17 00:00:00 2001 From: Liam Thompson Date: Wed, 12 Feb 2025 16:29:56 +0100 Subject: [PATCH 5/7] relative links --- solutions/search/get-started.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/solutions/search/get-started.md b/solutions/search/get-started.md index 9f2c6e12e1..67b91f40d9 100644 --- a/solutions/search/get-started.md +++ b/solutions/search/get-started.md @@ -1,6 +1,6 @@ --- mapped_urls: - - https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started.html + - https://www.elastic.co/guide/en/elasticreference/current/getting-started.html - https://www.elastic.co/guide/en/serverless/current/elasticsearch-get-started.html applies: stack: @@ -16,11 +16,11 @@ applies: 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. [**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)](search/querying-for-search.md) will you use to express your search logic? + - Which API endpoints and [query language(s)](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. From f8f7a41c200bd1db61fb054f0d2df2ee10f828e5 Mon Sep 17 00:00:00 2001 From: Liam Thompson Date: Wed, 12 Feb 2025 16:33:26 +0100 Subject: [PATCH 6/7] fix ref --- solutions/search/serverless-elasticsearch-get-started.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/solutions/search/serverless-elasticsearch-get-started.md b/solutions/search/serverless-elasticsearch-get-started.md index 6ee80a211c..b6463e8a42 100644 --- a/solutions/search/serverless-elasticsearch-get-started.md +++ b/solutions/search/serverless-elasticsearch-get-started.md @@ -79,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](#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. :::: From 620b578835b0bbfb599338184f7c6227726301c1 Mon Sep 17 00:00:00 2001 From: Liam Thompson <32779855+leemthompo@users.noreply.github.com> Date: Wed, 12 Feb 2025 17:06:43 +0100 Subject: [PATCH 7/7] Update solutions/search/get-started.md --- solutions/search/get-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/search/get-started.md b/solutions/search/get-started.md index 67b91f40d9..790b1d0a47 100644 --- a/solutions/search/get-started.md +++ b/solutions/search/get-started.md @@ -1,6 +1,6 @@ --- mapped_urls: - - https://www.elastic.co/guide/en/elasticreference/current/getting-started.html + - https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started.html - https://www.elastic.co/guide/en/serverless/current/elasticsearch-get-started.html applies: stack: