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
23 changes: 0 additions & 23 deletions solutions/search.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
6 changes: 5 additions & 1 deletion solutions/search/api-quickstarts.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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
Expand Down
42 changes: 13 additions & 29 deletions solutions/search/get-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -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$$$
::::{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).
::::
2 changes: 1 addition & 1 deletion solutions/search/querydsl-full-text-filter-tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

::::

Expand Down
2 changes: 1 addition & 1 deletion solutions/search/querying-for-search.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).
::::
Original file line number Diff line number Diff line change
Expand Up @@ -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)
```

Expand Down
2 changes: 1 addition & 1 deletion solutions/search/ranking/semantic-reranking.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 0 additions & 2 deletions solutions/search/run-elasticsearch-locally.md
Original file line number Diff line number Diff line change
Expand Up @@ -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**

Expand Down
8 changes: 4 additions & 4 deletions solutions/search/search-connection-details.md
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down
12 changes: 5 additions & 7 deletions solutions/search/serverless-elasticsearch-get-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:
---

Expand All @@ -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]
Expand Down Expand Up @@ -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.
::::


Expand Down
2 changes: 1 addition & 1 deletion solutions/search/site-or-app.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).
Original file line number Diff line number Diff line change
Expand Up @@ -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": [
Expand Down Expand Up @@ -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": [
Expand Down Expand Up @@ -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": [
Expand Down
2 changes: 1 addition & 1 deletion solutions/search/site-or-app/behavioral-analytics.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
Loading