Reorganize search tutorials (#2352)

* Restructure search tutorials

* Deleted moved tutorial

* Re-instate deleted frontmatter

* Fix links to moved files

* Move code search and build tutorials to 'Develop&Implement' section

* Update landing pages too

* Fix broken links
This commit is contained in:
Abdon Pijpelink
2026-05-19 16:38:52 +02:00
committed by GitHub
parent d458d21ae3
commit 97b3a05c5f
19 changed files with 51 additions and 33 deletions
@@ -55,7 +55,7 @@ As embeddings are vectors, one can apply a simple function to calculate the simi
So with similarity learning, all we need to do is provide pairs of correct questions and answers.
And then, the model will learn to distinguish proper answers by the similarity of embeddings.
>If you want to learn more about similarity learning and applications, check out this [article](/documentation/tutorials-search-engineering/neural-search/) which might be an asset.
>If you want to learn more about similarity learning and applications, check out this [article](/documentation/tutorials-develop/neural-search/) which might be an asset.
## Let's build
@@ -494,7 +494,7 @@ client.query_points(
)
```
___
Learn more about [**Reranking**](/documentation/tutorials-search-engineering/reranking-hybrid-search/#rerank).
Learn more about [**Reranking**](/documentation/tutorials-basics/reranking-hybrid-search/#rerank).
---
@@ -140,7 +140,7 @@ We plan to go deeper into selecting the best model based on performance, cost, i
## Create a neural search service with Fastmbed
Now that you’re familiar with the core concepts around vector embeddings, how about start building your own [Neural Search Service](/documentation/tutorials-search-engineering/neural-search/)?
Now that you’re familiar with the core concepts around vector embeddings, how about start building your own [Neural Search Service](/documentation/tutorials-develop/neural-search/)?
Tutorial guides you through a practical application of how to use Qdrant for document management based on descriptions of companies from [startups-list.com](https://www.startups-list.com/). From embedding data, integrating it with Qdrant's vector database, constructing a search API, and finally deploying your solution with FastAPI.
@@ -28,7 +28,7 @@ content:
title: Search
description: Build a simple neural search service with Qdrant and FastEmbed. Learn how to upload data, create indexes, and run search queries.
link:
url: /documentation/tutorials-search-engineering/hybrid-search-fastembed/
url: /documentation/tutorials-develop/hybrid-search-fastembed/
text: Read More
- id: 2
image:
@@ -460,4 +460,4 @@ The response should be similar to the one we got in the Python before:
- [Haystack's documentation](https://docs.haystack.deepset.ai/docs/kubernetes) describes [how to deploy the Hayhooks service in a Kubernetes
environment](https://docs.haystack.deepset.ai/docs/kubernetes), so you can easily move it to your own OpenShift infrastructure.
- If you are just getting started and need more guidance on Qdrant, read the [quickstart](/documentation/quickstart/) or try out our [beginner tutorial](/documentation/tutorials-search-engineering/neural-search/).
- If you are just getting started and need more guidance on Qdrant, read the [quickstart](/documentation/quickstart/) or try out our [beginner tutorial](/documentation/tutorials-develop/neural-search/).
@@ -1,4 +1,7 @@
| Tutorial | Objective | Stack | Time | Level |
| :--- | :--- | :--- | :--- | :--- |
| [Qdrant Local Quickstart](/documentation/quickstart/) | Basic CRUD operations and local deployment. | <span class="pill">Python</span> | 10m | <span class="text-green">Beginner</span> |
| [Semantic Search 101](/documentation/tutorials-basics/search-beginners/) | Build a search engine for science fiction books. | <span class="pill">Python</span> | 5m | <span class="text-green">Beginner</span> |
| [Qdrant Local Quickstart](/documentation/quickstart/) | Basic CRUD operations and local deployment. | <span class="pill">Any</span> | 10m | <span class="text-green">Beginner</span> |
| [Qdrant Cloud Quickstart](/documentation/cloud-quickstart/) | Basic CRUD operations on Qdrant Cloud. | <span class="pill">Any</span> | 10m | <span class="text-green">Beginner</span> |
| [Semantic Search 101](/documentation/tutorials-basics/search-beginners/) | Build a search engine for science fiction books. | <span class="pill">Any</span> | 10m | <span class="text-green">Beginner</span> |
| [Hybrid Search](/documentation/tutorials-basics/cloud-inference-hybrid-search/) | Get started with hybrid search. | <span class="pill">Any</span> | 30m | <span class="text-green">Beginner</span> |
| [Hybrid Search with Reranking](/documentation/tutorials-basics/reranking-hybrid-search/) | Rerank hybrid search results for improved accuracy. | <span class="pill">Any</span> | 40m | <span class="text-yellow">Intermediate</span> |
@@ -1,4 +1,7 @@
| Tutorial | Objective | Stack | Time | Level |
| :--- | :--- | :--- | :--- | :--- |
| [Build a Semantic Search API](/documentation/tutorials-develop/neural-search/) | Deploy a search service for company descriptions. | <span class="pill">FastAPI</span> | 30m | <span class="text-green">Beginner</span> |
| [Build a Hybrid Search API](/documentation/tutorials-develop/hybrid-search-fastembed/) | Combine dense and sparse search. | <span class="pill">FastAPI</span> | 20m | <span class="text-green">Beginner</span> |
| [Bulk Operations](/documentation/tutorials-develop/bulk-upload/) | High-scale ingestion approaches. | <span class="pill">Python</span> | 20m | <span class="text-yellow">Intermediate</span> |
| [Async API](/documentation/tutorials-develop/async-api/) | Use Asynchronous programming for efficiency. | <span class="pill">Python</span> | 25m | <span class="text-yellow">Intermediate</span> |
| [Semantic Search for Code](/documentation/tutorials-develop/code-search/) | Navigate codebases using vector similarity. | <span class="pill">Python</span> | 45m | <span class="text-yellow">Intermediate</span> |
@@ -1,13 +1,9 @@
| Tutorial | Objective | Stack | Time | Level |
| :--- | :--- | :--- | :--- | :--- |
| [Semantic Search Intro](/documentation/tutorials-search-engineering/neural-search/) | Deploy a search service for company descriptions. | <span class="pill">FastAPI</span> | 30m | <span class="text-green">Beginner</span> |
| [Hybrid Search with FastEmbed](/documentation/tutorials-search-engineering/hybrid-search-fastembed/) | Combine dense and sparse search. | <span class="pill">FastAPI</span> | 20m | <span class="text-green">Beginner</span> |
| [Relevance Feedback](/documentation/tutorials-search-engineering/using-relevance-feedback/) | Relevance Feedback Retrieval in Qdrant | <span class="pill">Python</span> | 30m | <span class="text-yellow">Intermediate</span> |
| [Collaborative Filtering](/documentation/tutorials-search-engineering/collaborative-filtering/) | Collaborative filtering using sparse embeddings. | <span class="pill">Python</span> | 45m | <span class="text-yellow">Intermediate</span> |
| [Multivector Document Retrieval](/documentation/tutorials-search-engineering/pdf-retrieval-at-scale/) | PDF RAG using ColPali and embedding pooling. | <span class="pill">Python</span> | 30m | <span class="text-yellow">Intermediate</span> |
| [Measuring ANN Recall](/documentation/tutorials-search-engineering/ann-recall/) | Measure ANN recall with the Web UI and tune HNSW parameters. | <span class="pill">Web UI</span> | 15m | <span class="text-green">Beginner</span> |
| [Hybrid Search with Reranking](/documentation/tutorials-search-engineering/reranking-hybrid-search/) | Implement late interaction and sparse reranking. | <span class="pill">Python</span> | 40m | <span class="text-yellow">Intermediate</span> |
| [Semantic Search for Code](/documentation/tutorials-search-engineering/code-search/) | Navigate codebases using vector similarity. | <span class="pill">Python</span> | 45m | <span class="text-yellow">Intermediate</span> |
| [Multivectors and Late Interaction](/documentation/tutorials-search-engineering/using-multivector-representations/) | Effective use of multivector representations. | <span class="pill">Python</span> | 30m | <span class="text-yellow">Intermediate</span> |
| [Multi-Representation Search](/documentation/tutorials-search-engineering/multi-representation-search/) | Fuse title, summary, chunk, and tag vectors with named vectors and the Query API. | <span class="pill">Python</span> | 45m | <span class="text-yellow">Intermediate</span> |
| [Static Embeddings](/documentation/tutorials-search-engineering/static-embeddings/) | Evaluate the utility of static embeddings. | <span class="pill">Python</span> | 20m | <span class="text-yellow">Intermediate</span> |
@@ -299,7 +299,7 @@ You are not limited to prefetching just two queries. Examples include, but are n
- Fuse multiple lexical queries across the `title`, `author`, and `isbn` fields alongside a semantic query to achieve a comprehensive search across all data.
- Prefetch using sparse or dense vectors and/or filters, and [rescore with dense vectors](/documentation/search/hybrid-queries/#multi-stage-queries).
- [Prefetch with dense and sparse vectors, and rerank using late interaction embeddings](/documentation/tutorials-search-engineering/reranking-hybrid-search/?q=late+interaction).
- [Prefetch with dense and sparse vectors, and rerank using late interaction embeddings](/documentation/tutorials-basics/reranking-hybrid-search/?q=late+interaction).
## Conclusion
@@ -1,9 +1,10 @@
---
title: Cloud Inference Hybrid Search
title: Hybrid Search
short_description: "Step-by-step tutorial: build hybrid search in Qdrant combining dense semantic and sparse keyword retrieval with reciprocal rank fusion."
description: "Build a hybrid search engine on Qdrant Cloud that fuses dense embeddings with BM25 sparse vectors using reciprocal rank fusion for higher-precision retrieval."
hideInSidebar: true
weight: 35
weight: 40
aliases:
- /documentation/tutorials-and-examples/cloud-inference-hybrid-search/
---
# Hybrid Search Using Qdrant Cloud Inference
@@ -12,7 +13,7 @@ weight: 35
In this tutorial, we'll walkthrough building a **hybrid semantic search engine** using Qdrant Cloud's built-in [inference](/documentation/cloud/inference/) capabilities. You'll learn how to:
- Automatically embed your data using [cloud Inference](/documentation/cloud/inference/) without needing to run local models,
- Combine dense semantic embeddings with [sparse BM25 keywords](https://qdrant.tech/documentation/tutorials-search-engineering/reranking-hybrid-search/), and
- Combine dense semantic embeddings with [sparse BM25 keywords](/documentation/tutorials-basics/reranking-hybrid-search/), and
- Perform hybrid search using [Reciprocal Rank Fusion (RRF)](/documentation/search/hybrid-queries/) to retrieve the most relevant results.
## Initialize the Client
@@ -54,3 +55,7 @@ version=0, score=14.545895,
payload={'text': "Relapsing Polychondritis is a rare..."},
vector=None, shard_key=None, order_value=None)]
```
## Next Steps
Hybrid search result quality can be improved by reranking the results using a more expensive but higher quality model. Learn more in the [hybrid search with reranking tutorial](/documentation/tutorials-basics/reranking-hybrid-search/).
@@ -2,10 +2,11 @@
title: Hybrid Search with Reranking
short_description: "Combine dense, sparse, and late-interaction embeddings in Qdrant to build hybrid search with reranking for high-precision results."
description: "Step-by-step tutorial: build hybrid search in Qdrant combining dense, sparse, and late-interaction reranking for higher precision on large corpora."
weight: 2
weight: 60
aliases:
- /documentation/search-precision/reranking-hybrid-search/
- /documentation/advanced-tutorials/reranking-hybrid-search/
- /documentation/tutorials-search-engineering/reranking-hybrid-search/
---
# Qdrant Hybrid Search with Reranking
@@ -249,4 +249,4 @@ The query has been narrowed down to one result from 2008.
## Next Steps
Congratulations, you have just created your very first search engine! Trust us, the rest of Qdrant is not that complicated, either. For your next tutorial, try [building your own hybrid search service](/documentation/tutorials-search-engineering/hybrid-search-fastembed/) or take the free [Qdrant Essentials course](/course/essentials/).
Congratulations, you have just created your very first search engine! Trust us, the rest of Qdrant is not that complicated, either. For your next tutorial, try [building your own hybrid search service](/documentation/tutorials-develop/hybrid-search-fastembed/) or take the free [Qdrant Essentials course](/course/essentials/).
@@ -2,7 +2,7 @@
title: Semantic Search 101
short_description: "Run your first semantic search on Qdrant Cloud: create a cluster, upload a small dataset, and query by meaning instead of keywords."
description: "Step-by-step tutorial: spin up a Qdrant Cloud cluster, create a collection, upload sample data, and run semantic vector search queries in five minutes."
weight: 4
weight: 10
aliases:
- /documentation/tutorials/mighty.md/
- /documentation/tutorials/search-beginners/
@@ -113,4 +113,4 @@ The results have been narrowed down to one result from 2008:
## Next Steps
Congratulations, you have just created your very first search engine! Trust us, the rest of Qdrant is not that complicated, either. For your next tutorial, try [building your own hybrid search service](/documentation/tutorials-search-engineering/hybrid-search-fastembed/) or take the free [Qdrant Essentials course](/course/essentials/).
Congratulations, you have just created your very first search engine! Trust us, the rest of Qdrant is not that complicated, either. For your next tutorial, try [building your own hybrid search service](/documentation/tutorials-basics/cloud-inference-hybrid-search/) or take the free [Qdrant Essentials course](/course/essentials/).
@@ -5,7 +5,8 @@ description: "Tutorial: build a semantic code search engine with Qdrant by combi
aliases:
- /documentation/tutorials/code-search/
- /documentation/advanced-tutorials/code-search/
weight: 2
- /documentation/tutorials-search-engineering/code-search/
weight: 20
---
# Semantic Search for Code with Qdrant
@@ -1,14 +1,15 @@
---
title: Hybrid Search with FastEmbed
title: Build a Hybrid Search API
short_description: "Build a hybrid search service with Qdrant and FastEmbed by combining dense and sparse embeddings behind a FastAPI endpoint."
description: "Tutorial: build a hybrid search API with Qdrant and FastEmbed that fuses dense and sparse embeddings, served through a FastAPI application."
aliases:
- /documentation/tutorials/hybrid-search-fastembed/
- /documentation/beginner-tutorials/hybrid-search-fastembed/
weight: 3
- /documentation/tutorials-search-engineering/hybrid-search-fastembed/
weight: 50
---
# Hybrid Search with Qdrant's FastEmbed
# Build a Search API with Qdrant's FastEmbed
| Time: 20 min | Level: Beginner | Output: [GitHub](https://github.com/qdrant/qdrant_demo/) |
| --- | ----------- | ----------- |----------- |
@@ -1,14 +1,15 @@
---
title: Semantic Search Basics
title: Build a Semantic Search API
short_description: "Build a neural semantic search service on Qdrant using sentence-transformer embeddings and a FastAPI search endpoint."
description: "Tutorial: build a neural search service that encodes text with sentence transformers, indexes vectors in Qdrant, and serves results through FastAPI."
aliases:
- /documentation/tutorials/neural-search/
- /documentation/beginner-tutorials/neural-search/
weight: 2
- /documentation/tutorials-search-engineering/neural-search/
weight: 30
---
# Semantic Search Basics with Qdrant
# Build a Semantic Search API with Qdrant
| Time: 30 min | Level: Beginner | Output: [GitHub](https://github.com/qdrant/qdrant_demo/tree/sentense-transformers) | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1kPktoudAP8Tu8n8l-iVMOQhVmHkWV_L9?usp=sharing) |
| --- | ----------- | ----------- |----------- |
@@ -19,7 +20,7 @@ A neural search service uses artificial neural networks to improve the accuracy
<aside role="status">
There is a version of this tutorial that uses <a href="https://github.com/qdrant/fastembed">Fastembed</a> model inference engine instead of Sentence Transformers.
Check it out <a href="/documentation/tutorials-search-engineering/hybrid-search-fastembed/">here</a>.
Check it out <a href="/documentation/tutorials-develop/hybrid-search-fastembed/">here</a>.
</aside>
@@ -66,8 +66,8 @@ partition: develop
| Tutorial | Objective | Stack | Time | Level |
| :--- | :--- | :--- | :--- | :--- |
| [Hybrid Search with FastEmbed](/documentation/tutorials-search-engineering/hybrid-search-fastembed/) | Combine dense and sparse search for startups. | <span class="pill">FastAPI</span> | 20m | <span class="text-green">Beginner</span> |
| [Semantic Search Basics](/documentation/tutorials-search-engineering/neural-search/) | Deploy a search service for company descriptions. | <span class="pill">FastAPI</span> | 30m | <span class="text-green">Beginner</span> |
| [Hybrid Search with FastEmbed](/documentation/tutorials-develop/hybrid-search-fastembed/) | Combine dense and sparse search for startups. | <span class="pill">FastAPI</span> | 20m | <span class="text-green">Beginner</span> |
| [Semantic Search Basics](/documentation/tutorials-develop/neural-search/) | Deploy a search service for company descriptions. | <span class="pill">FastAPI</span> | 30m | <span class="text-green">Beginner</span> |
| [Collaborative Filtering](/documentation/tutorials-search-engineering/collaborative-filtering/) | Collaborative filtering using sparse embeddings. | <span class="pill">Python</span> | 45m | <span class="text-yellow">Intermediate</span> |
| [Multivector Document Retrieval](/documentation/tutorials-search-engineering/pdf-retrieval-at-scale/) | PDF RAG using ColPali and embedding pooling. | <span class="pill">Python</span> | 30m | <span class="text-yellow">Intermediate</span> |
| [Measuring ANN Recall](/documentation/tutorials-search-engineering/ann-recall/) | Measure ANN recall with the Web UI and tune HNSW parameters. | <span class="pill">Web UI</span> | 15m | <span class="text-green">Beginner</span> |
@@ -51,7 +51,7 @@ featureCards:
alt: Reranking illustration
link:
text: See Documentation
url: /documentation/tutorials-search-engineering/reranking-hybrid-search/
url: /documentation/tutorials-basics/reranking-hybrid-search/
size: small
sitemapExclude: true
---
+7
View File
@@ -54,5 +54,12 @@
/documentation/tutorials-and-examples/managed-cloud-prometheus/* /documentation/ops-monitoring/managed-cloud-prometheus/:splat 301
/documentation/tutorials-and-examples/hybrid-cloud-prometheus/* /documentation/ops-monitoring/hybrid-cloud-prometheus/:splat 301
# Search tutorials reorg
/documentation/tutorials-and-examples/cloud-inference-hybrid-search/* /documentation/tutorials-basics/cloud-inference-hybrid-search/:splat 301
/documentation/tutorials-search-engineering/code-search/* /documentation/tutorials-develop/code-search/:splat 301
/documentation/tutorials-search-engineering/neural-search/* /documentation/tutorials-develop/neural-search/:splat
/documentation/tutorials-search-engineering/hybrid-search-fastembed/* /documentation/tutorials-develop/hybrid-search-fastembed/:splat 301
/documentation/tutorials-search-engineering/reranking-hybrid-search/* /documentation/tutorials-basics/reranking-hybrid-search/:splat 301
# Deploy tab landing page slug change
/documentation/cloud-intro/* /documentation/deploy-intro/:splat 301