mirror of
https://github.com/qdrant/landing_page.git
synced 2026-10-02 17:38:31 +02:00
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:
@@ -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:
|
||||
|
||||
+1
-1
@@ -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> |
|
||||
| [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
|
||||
|
||||
|
||||
+10
-5
@@ -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
|
||||
@@ -53,4 +54,8 @@ The semantic search engine will retrieve the most similar result in order of rel
|
||||
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
-1
@@ -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/).
|
||||
|
||||
+2
-1
@@ -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
|
||||
+4
-3
@@ -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/) |
|
||||
| --- | ----------- | ----------- |----------- |
|
||||
+5
-4
@@ -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) | [](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
|
||||
---
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user