-By default, Qdrant instances are **unsecured**, so it's important to configure security measures before moving to production. To learn more about how to configure security for your Qdrant instance and other advanced options, please check out the [official Qdrant documentation on security.](https://qdrant.tech/documentation/guides/security/)
+By default, Qdrant instances are **unsecured**, so it's important to configure security measures before moving to production. To learn more about how to configure security for your Qdrant instance and other advanced options, please check out the [official Qdrant documentation on security.](https://qdrant.tech/documentation/operations/security/)
## Time to Experiment
diff --git a/qdrant-landing/content/articles/what-is-quantization.md b/qdrant-landing/content/articles/what-is-quantization.md
index 34e5ba7c4..baf2de1fc 100644
--- a/qdrant-landing/content/articles/what-is-quantization.md
+++ b/qdrant-landing/content/articles/what-is-quantization.md
@@ -28,7 +28,7 @@ When working with high-dimensional vectors, such as embeddings from providers li
With 1 million vectors needing around 6 GB of memory, as your dataset grows to multiple **millions of vectors**, the memory and processing demands increase significantly.
-To understand why this process is so computationally demanding, let's take a look at the nature of the [HNSW index](https://qdrant.tech/documentation/concepts/indexing/#vector-index).
+To understand why this process is so computationally demanding, let's take a look at the nature of the [HNSW index](https://qdrant.tech/documentation/manage-data/indexing/#vector-index).
The **HNSW (Hierarchical Navigable Small World) index** organizes vectors in a layered graph, connecting each vector to its nearest neighbors. At each layer, the algorithm narrows down the search area until it reaches the lower layers, where it efficiently finds the closest matches to the query.
@@ -54,7 +54,7 @@ There are several methods to achieve this, and here we will focus on three main

-In Qdrant, each dimension is represented by a `float32` value, which uses **4 bytes** of memory. When using [Scalar Quantization](https://qdrant.tech/documentation/guides/quantization/#scalar-quantization), we map our vectors to a range that the smaller `int8` type can represent. An `int8` is only **1 byte** and can represent 256 values (from -128 to 127, or 0 to 255). This results in a **75% reduction** in memory size.
+In Qdrant, each dimension is represented by a `float32` value, which uses **4 bytes** of memory. When using [Scalar Quantization](https://qdrant.tech/documentation/manage-data/quantization/#scalar-quantization), we map our vectors to a range that the smaller `int8` type can represent. An `int8` is only **1 byte** and can represent 256 values (from -128 to 127, or 0 to 255). This results in a **75% reduction** in memory size.
For example, if our data lies in the range of -1.0 to 1.0, Scalar Quantization will transform these values to a range that `int8` can represent, i.e., within -128 to 127. The system **maps** the `float32` values into this range.
@@ -107,7 +107,7 @@ While the performance gains of Scalar Quantization may not match those achieved

-[Binary Quantization](https://qdrant.tech/documentation/guides/quantization/#binary-quantization) is an excellent option if you're looking to **reduce memory** usage while also achieving a significant **boost in speed**. It works by converting high-dimensional vectors into simple binary (0 or 1) representations.
+[Binary Quantization](https://qdrant.tech/documentation/manage-data/quantization/#binary-quantization) is an excellent option if you're looking to **reduce memory** usage while also achieving a significant **boost in speed**. It works by converting high-dimensional vectors into simple binary (0 or 1) representations.
- Values greater than zero are converted to 1.
- Values less than or equal to zero are converted to 0.
@@ -176,7 +176,7 @@ If you're interested in exploring Binary Quantization in more detail—including

-[Product Quantization](https://qdrant.tech/documentation/guides/quantization/#product-quantization) is a method used to compress high-dimensional vectors by representing them with a smaller set of representative points.
+[Product Quantization](https://qdrant.tech/documentation/manage-data/quantization/#product-quantization) is a method used to compress high-dimensional vectors by representing them with a smaller set of representative points.
The process begins by splitting the original high-dimensional vectors into smaller **sub-vectors.** Each sub-vector represents a segment of the original vector, capturing different characteristics of the data.
@@ -268,7 +268,7 @@ Product Quantization can significantly reduce memory usage, potentially offering
If your application requires high precision or real-time performance, Product Quantization may not be the best choice. However, if **memory savings** are critical and some accuracy loss is acceptable, it could still be an ideal solution.
-Here’s a comparison of speed, accuracy, and compression for all three methods, adapted from [Qdrant's documentation](https://qdrant.tech/documentation/guides/quantization/#how-to-choose-the-right-quantization-method):
+Here’s a comparison of speed, accuracy, and compression for all three methods, adapted from [Qdrant's documentation](https://qdrant.tech/documentation/manage-data/quantization/#how-to-choose-the-right-quantization-method):
| Quantization method | Accuracy | Speed | Compression |
|---------------------|----------|------------|-------------|
@@ -519,7 +519,7 @@ Here are some final thoughts to help you choose the right quantization method fo
### Learn More
-If you want to learn more about improving accuracy, memory efficiency, and speed when using quantization in Qdrant, we have a dedicated [Quantization tips](https://qdrant.tech/documentation/guides/quantization/#quantization-tips) section in our docs that explains all the quantization tips you can use to enhance your results.
+If you want to learn more about improving accuracy, memory efficiency, and speed when using quantization in Qdrant, we have a dedicated [Quantization tips](https://qdrant.tech/documentation/manage-data/quantization/#quantization-tips) section in our docs that explains all the quantization tips you can use to enhance your results.
Learn more about optimizing real-time precision with oversampling in Binary Quantization by watching this interview with Qdrant’s CTO, Andrey Vasnetsov:
diff --git a/qdrant-landing/content/articles/what-is-rag-in-ai.md b/qdrant-landing/content/articles/what-is-rag-in-ai.md
index 45a35d1da..808f9b587 100644
--- a/qdrant-landing/content/articles/what-is-rag-in-ai.md
+++ b/qdrant-landing/content/articles/what-is-rag-in-ai.md
@@ -133,7 +133,7 @@ The LLM is typically a model like GPT, BART or T5, trained on massive datasets t

-The retriever and generator don't operate in isolation. The image bellow shows how the output of the retrieval feeds the generator to produce the final generated response.
+The retriever and generator don't operate in isolation. The image below shows how the output of the retrieval feeds the generator to produce the final generated response.

diff --git a/qdrant-landing/content/benchmarks/filtered-search-benchmark.md b/qdrant-landing/content/benchmarks/filtered-search-benchmark.md
index 6f8756b42..380353ab8 100644
--- a/qdrant-landing/content/benchmarks/filtered-search-benchmark.md
+++ b/qdrant-landing/content/benchmarks/filtered-search-benchmark.md
@@ -18,7 +18,7 @@ As you can see from the charts, there are three main patterns:
- **Speed downturn** - some engines struggle to keep high RPS, it might be related to the requirement of building a filtering mask for the dataset, as described above.
-- **Accuracy collapse** - some engines are loosing accuracy dramatically under some filters. It is related to the fact that the HNSW graph becomes disconnected, and the search becomes unreliable.
+- **Accuracy collapse** - some engines are losing accuracy dramatically under some filters. It is related to the fact that the HNSW graph becomes disconnected, and the search becomes unreliable.
Qdrant avoids all these problems and also benefits from the speed boost, as it implements an advanced [query planning strategy](/documentation/search/#query-planning).
diff --git a/qdrant-landing/content/benchmarks/single-node-speed-benchmark.md b/qdrant-landing/content/benchmarks/single-node-speed-benchmark.md
index 98a7de5e4..993bcb74b 100644
--- a/qdrant-landing/content/benchmarks/single-node-speed-benchmark.md
+++ b/qdrant-landing/content/benchmarks/single-node-speed-benchmark.md
@@ -17,7 +17,7 @@ Unlisted: false
Most of the engines have improved since [our last run](/benchmarks/single-node-speed-benchmark-2022/). Both life and software have trade-offs but some clearly do better:
-* **`Qdrant` achives highest RPS and lowest latencies in almost all the scenarios, no matter the precision threshold and the metric we choose.** It has also shown 4x RPS gains on one of the datasets.
+* **`Qdrant` achieves highest RPS and lowest latencies in almost all the scenarios, no matter the precision threshold and the metric we choose.** It has also shown 4x RPS gains on one of the datasets.
* `Elasticsearch` has become considerably fast for many cases but it's very slow in terms of indexing time. It can be 10x slower when storing 10M+ vectors of 96 dimensions! (32mins vs 5.5 hrs)
* `Milvus` is the fastest when it comes to indexing time and maintains good precision. However, it's not on-par with others when it comes to RPS or latency when you have higher dimension embeddings or more number of vectors.
* `Redis` is able to achieve good RPS but mostly for lower precision. It also achieved low latency with single thread, however its latency goes up quickly with more parallel requests. Part of this speed gain comes from their custom protocol.
diff --git a/qdrant-landing/content/blog/2025-recap.md b/qdrant-landing/content/blog/2025-recap.md
index 912c160a7..c21c0660a 100644
--- a/qdrant-landing/content/blog/2025-recap.md
+++ b/qdrant-landing/content/blog/2025-recap.md
@@ -46,9 +46,9 @@ In response, our 2025 roadmap centered on four tightly connected capability area
In 2025, we focused on giving teams explicit control over retrieval quality as applications moved beyond basic semantic search. Our new capabilities make relevance more explainable, tunable, and aligned with real user intent, especially in agentic and hybrid search workflows.
**Related enhancements:**
-• [Score-Boosting Reranking](https://qdrant.tech/documentation/concepts/search-relevance/#score-boosting) allowing the blending of vector similarity with business signals
-• [Full-Text Filtering](https://qdrant.tech/documentation/concepts/filtering/) which brought native multilingual tokenization, stemming, and phrase matching
-• [ACORN algorithm](https://qdrant.tech/documentation/concepts/search/#acorn-search-algorithm) for higher-quality filtered HNSW queries
+• [Score-Boosting Reranking](https://qdrant.tech/documentation/search/search-relevance/#score-boosting) allowing the blending of vector similarity with business signals
+• [Full-Text Filtering](https://qdrant.tech/documentation/search/filtering/) which brought native multilingual tokenization, stemming, and phrase matching
+• [ACORN algorithm](https://qdrant.tech/documentation/search/search/#acorn-search-algorithm) for higher-quality filtered HNSW queries
• [Maximal Marginal Relevance (MMR)](https://qdrant.tech/blog/mmr-diversity-aware-reranking/) to balance relevance and diversity
• ASCII folding for improved multilingual recall
@@ -57,19 +57,19 @@ In 2025, we focused on giving teams explicit control over retrieval quality as a
To support large, cost-sensitive workloads, we targeted the biggest performance bottlenecks in production systems. New improvements help teams scale indexing and querying without over-provisioning memory or compute.
**Related enhancements:**
-• [GPU-Accelerated HNSW Indexing](https://qdrant.tech/documentation/guides/running-with-gpu/) unlocks up to an order-of-magnitude faster ingestion
-• [Inline Storage](https://qdrant.tech/documentation/guides/optimize/#inline-storage-in-hnsw-index) embedded quantized vectors directly into the graph to dramatically improve disk-based search performance
+• [GPU-Accelerated HNSW Indexing](https://qdrant.tech/documentation/operations/running-with-gpu/) unlocks up to an order-of-magnitude faster ingestion
+• [Inline Storage](https://qdrant.tech/documentation/operations/optimize/#inline-storage-in-hnsw-index) embedded quantized vectors directly into the graph to dramatically improve disk-based search performance
• [Custom storage engine](https://qdrant.tech/articles/gridstore-key-value-storage/) optimized for predictable low-latency access
• [Incremental HNSW indexing](https://qdrant.tech/documentation/database-tutorials/bulk-upload/?q=incremental+hnsw#choose-an-indexing-strategy) for upsert-heavy workloads
• HNSW graph compression to reduce memory footprint
-• Expanded [Quantization](https://qdrant.tech/documentation/guides/quantization/#15-bit-and-2-bit-quantization]) options, including 1.5-bit, 2-bit, and asymmetric quantization
+• Expanded [Quantization](https://qdrant.tech/documentation/manage-data/quantization/#15-bit-and-2-bit-quantization]) options, including 1.5-bit, 2-bit, and asymmetric quantization
### Enterprise Scaling & Isolation
As Qdrant became shared infrastructure inside larger organizations, we focused on multitenancy, governance, and enterprise needs.
**Related enhancements:**
-• [Tiered Multitenancy](https://qdrant.tech/documentation/guides/multitenancy/#tiered-multitenancy) enables efficient support for both small and large tenants within a single system
+• [Tiered Multitenancy](https://qdrant.tech/documentation/manage-data/multitenancy/#tiered-multitenancy) enables efficient support for both small and large tenants within a single system
• [Single Sign-On (SSO) and role-based access control (RBAC)](https://qdrant.tech/enterprise-solutions/)
• Granular database API keys
• [Terraform-enabled Cloud API](https://qdrant.tech/enterprise-solutions/) for automation and governance
diff --git a/qdrant-landing/content/blog/azure-marketplace.md b/qdrant-landing/content/blog/azure-marketplace.md
index da6c9f50d..290d7ff1f 100644
--- a/qdrant-landing/content/blog/azure-marketplace.md
+++ b/qdrant-landing/content/blog/azure-marketplace.md
@@ -41,8 +41,8 @@ Ready to experience the benefits of Qdrant on Azure Marketplace? Getting started
1. **Visit the Azure Marketplace**: Navigate to [Qdrant's Marketplace listing](https://azuremarketplace.microsoft.com/en-en/marketplace/apps/qdrantsolutionsgmbh1698769709989.qdrant-db).
2. **Deploy Qdrant**: Follow the simple deployment instructions to set up your instance.
-3. **Start Using Qdrant**: Once deployed, start exploring the [features and capabilities of Qdrant](/documentation/concepts/) on Azure.
-4. **Read Documentation**: Read Qdrant's [Documentation](/documentation/) and build demo apps using [Tutorials](/documentation/tutorials/).
+3. **Start Using Qdrant**: Once deployed, start exploring the [features and capabilities of Qdrant](/documentation/overview/) on Azure.
+4. **Read Documentation**: Read Qdrant's [Documentation](/documentation/) and build demo apps using [Tutorials](/documentation/tutorials-lp-overview/).
## Join Us on this Exciting Journey:
diff --git a/qdrant-landing/content/blog/beta-database-migration-tool.md b/qdrant-landing/content/blog/beta-database-migration-tool.md
index eb9b5d63e..191f97a83 100644
--- a/qdrant-landing/content/blog/beta-database-migration-tool.md
+++ b/qdrant-landing/content/blog/beta-database-migration-tool.md
@@ -19,7 +19,7 @@ We’ve launched the **beta** of our Qdrant **Vector Data Migration Tool**, desi
This powerful tool streams all vectors from a source collection to a target Qdrant instance in live batches. It supports migrations from one Qdrant deployment to another, including from open source to Qdrant Cloud or between cloud regions. But that's not all. You can also migrate your data from other vector databases directly into Qdrant. All with a single command.
-Unlike Qdrant’s included [snapshot migration method](https://qdrant.tech/documentation/concepts/snapshots/), which requires consistent node-specific snapshots, our migration tool enables you to easily migrate data between different Qdrant database clusters in streaming batches. The only requirement is that the vector size and distance function must match.
+Unlike Qdrant’s included [snapshot migration method](https://qdrant.tech/documentation/operations/snapshots/), which requires consistent node-specific snapshots, our migration tool enables you to easily migrate data between different Qdrant database clusters in streaming batches. The only requirement is that the vector size and distance function must match.
This is especially useful if you want to change the collection configuration on the target, for example by choosing a different replication factor or quantization method.
diff --git a/qdrant-landing/content/blog/case-study-and-ai.md b/qdrant-landing/content/blog/case-study-and-ai.md
index af1c24d17..a7bd8428f 100644
--- a/qdrant-landing/content/blog/case-study-and-ai.md
+++ b/qdrant-landing/content/blog/case-study-and-ai.md
@@ -71,7 +71,7 @@ By using [Qdrant Cloud](https://qdrant.tech/cloud/), \&AI avoided the need to ma
"Patent litigation has huge stakes, one result could influence a billion-dollar case," said Turner. "Accuracy is the top priority, and Qdrant let us optimize for that without compromising on cost or performance."
-Qdrant’s support for [payload filters](https://qdrant.tech/documentation/concepts/filtering/), [multitenancy](https://qdrant.tech/documentation/guides/multiple-partitions/), and quantization let \&AI optimize deeply. Their AI patent agent, Andy, uses natural language to guide attorneys through patent analysis tasks, drastically cutting time-to-result.
+Qdrant’s support for [payload filters](https://qdrant.tech/documentation/search/filtering/), [multitenancy](https://qdrant.tech/documentation/manage-data/multitenancy/), and quantization let \&AI optimize deeply. Their AI patent agent, Andy, uses natural language to guide attorneys through patent analysis tasks, drastically cutting time-to-result.
*"With Qdrant, we scaled to a billion vectors and still respond in sub-second latency. That lets us power workflows that used to take hours in just a few minutes."*
diff --git a/qdrant-landing/content/blog/case-study-anima-health.md b/qdrant-landing/content/blog/case-study-anima-health.md
index ac5e427c7..3c32dc21a 100644
--- a/qdrant-landing/content/blog/case-study-anima-health.md
+++ b/qdrant-landing/content/blog/case-study-anima-health.md
@@ -56,14 +56,14 @@ Beyond coding, Anima uses Qdrant to understand documents at scale. By working wi
Several factors made Qdrant a strong fit for healthcare workloads.
-[Deployment flexibility](https://qdrant.tech/documentation/guides/installation/) was non-negotiable. Anima requires data to remain at rest in the UK, allowing them to make strong guarantees to customers about compliance and residency. Qdrant’s self-hosted and region-controlled deployment options enabled this without compromising performance.
+[Deployment flexibility](https://qdrant.tech/documentation/operations/installation/) was non-negotiable. Anima requires data to remain at rest in the UK, allowing them to make strong guarantees to customers about compliance and residency. Qdrant’s self-hosted and region-controlled deployment options enabled this without compromising performance.
Cost predictability also played a critical role. With a fixed infrastructure cost for vector search, Anima could use retrieval across multiple passes in their pipelines. This unlocked higher-quality results without eroding margins.
>“Knowing that retrieval is reliable and low cost changed how we build. We do not think twice about using vector search as part of our pipelines.”
-Colin Cooke, Lead AI Engineer, Anima Health
-Finally, Qdrant’s vector-native capabilities mattered. [Payload-based filtering](https://qdrant.tech/documentation/concepts/payload/) allows Anima to scope searches precisely across different electronic health record systems. [Multivector support](https://qdrant.tech/documentation/concepts/payload/) enables experimentation with multiple embedding strategies and providers, reducing long-term lock-in and easing future transitions.
+Finally, Qdrant’s vector-native capabilities mattered. [Payload-based filtering](https://qdrant.tech/documentation/manage-data/payload/) allows Anima to scope searches precisely across different electronic health record systems. [Multivector support](https://qdrant.tech/documentation/manage-data/payload/) enables experimentation with multiple embedding strategies and providers, reducing long-term lock-in and easing future transitions.
### Results: Scalable, privacy-first AI in production
diff --git a/qdrant-landing/content/blog/case-study-bazaarvoice.md b/qdrant-landing/content/blog/case-study-bazaarvoice.md
index dd3199b58..83ee0481b 100644
--- a/qdrant-landing/content/blog/case-study-bazaarvoice.md
+++ b/qdrant-landing/content/blog/case-study-bazaarvoice.md
@@ -55,8 +55,8 @@ With over a billion vectors, post-filtering meant searching far more data than n
Qdrant stood out for a few key reasons:
-* [Multitenancy](https://qdrant.tech/documentation/guides/multitenancy/) with payload-based partitioning, allowing searches to be scoped by client, product, or category at query time
-* [Quantization](https://qdrant.tech/documentation/guides/quantization/), enabling dramatic reductions in storage and RAM requirements which translates directly to cost
+* [Multitenancy](https://qdrant.tech/documentation/manage-data/multitenancy/) with payload-based partitioning, allowing searches to be scoped by client, product, or category at query time
+* [Quantization](https://qdrant.tech/documentation/manage-data/quantization/), enabling dramatic reductions in storage and RAM requirements which translates directly to cost
* [Hybrid cloud deployment](https://qdrant.tech/hybrid-cloud/), running inside Bazaarvoice’s VPC on Kubernetes
* Operational simplicity, eliminating manual partition management entirely
diff --git a/qdrant-landing/content/blog/case-study-dailymotion.md b/qdrant-landing/content/blog/case-study-dailymotion.md
index a4b422bad..ebefd72b7 100644
--- a/qdrant-landing/content/blog/case-study-dailymotion.md
+++ b/qdrant-landing/content/blog/case-study-dailymotion.md
@@ -167,7 +167,7 @@ They aim to work on Perspective feed next and say

-The team is also interested in leveraging advanced features like [Qdrant’s Discovery API](/documentation/concepts/explore/#recommendation-api) to promote exploration of content to enable finding not only similar but dissimilar content too by using positive and negative vectors in the queries and making it work with the existing collaborative recommendation model.
+The team is also interested in leveraging advanced features like [Qdrant’s Discovery API](/documentation/search/explore/#recommendation-api) to promote exploration of content to enable finding not only similar but dissimilar content too by using positive and negative vectors in the queries and making it work with the existing collaborative recommendation model.
### References
diff --git a/qdrant-landing/content/blog/case-study-deutsche-telekom.md b/qdrant-landing/content/blog/case-study-deutsche-telekom.md
index b00bd2f3f..67cd821db 100644
--- a/qdrant-landing/content/blog/case-study-deutsche-telekom.md
+++ b/qdrant-landing/content/blog/case-study-deutsche-telekom.md
@@ -76,7 +76,7 @@ When Deutsche Telekom began searching for a scalable, high-performance vector da
The team structured its evaluation around two key metrics:
1. **Qualitative metrics**: developer experience, ease of use, memory efficiency features.
-2. **Operational simplicity**: how well it fit into their PaaS-first approach and [multitenancy requirements](https://qdrant.tech/documentation/guides/multiple-partitions/).
+2. **Operational simplicity**: how well it fit into their PaaS-first approach and [multitenancy requirements](https://qdrant.tech/documentation/manage-data/multitenancy/).
Deutsche Telekom's engineers also cited several standout features that made Qdrant the right fit:
diff --git a/qdrant-landing/content/blog/case-study-dragonfruit.md b/qdrant-landing/content/blog/case-study-dragonfruit.md
index 1f52a7792..8c8ffed29 100644
--- a/qdrant-landing/content/blog/case-study-dragonfruit.md
+++ b/qdrant-landing/content/blog/case-study-dragonfruit.md
@@ -41,13 +41,13 @@ Retail and warehouse environments are bandwidth-constrained and heterogeneous. A
* Operate a vector store at enterprise scale: thousands of locations → thousands of cameras, accumulating into tens to hundreds of billions of vectors and multi-terabyte storage.
### Why Qdrant: Performance headroom and operational control
-Dragonfruit chose the open-source version of Qdrant as its vector search engine to meet the twin pressures of real-time reads and high-velocity writes. In head-to-head experiments, Qdrant delivered the QPS targets they needed while giving the team granular, [per-collection](https://qdrant.tech/documentation/concepts/collections/) tuning to match workload diversity.
+Dragonfruit chose the open-source version of Qdrant as its vector search engine to meet the twin pressures of real-time reads and high-velocity writes. In head-to-head experiments, Qdrant delivered the QPS targets they needed while giving the team granular, [per-collection](https://qdrant.tech/documentation/manage-data/collections/) tuning to match workload diversity.
Key reasons the team highlighted:
* **Per-collection configurability.** Collections with heavy reads and low writes use different settings than write-heavy pipelines. Tuning shard counts and HNSW parameters by collection helped hit latency Service Level Objectives (SLOs) without overprovisioning.
-* **Efficient numeric formats.** For most vision workloads, [float16](https://qdrant.tech/documentation/concepts/vectors/) vectors were sufficient, improving memory efficiency and cache behavior with no material loss in retrieval accuracy for their use cases.
+* **Efficient numeric formats.** For most vision workloads, [float16](https://qdrant.tech/documentation/manage-data/vectors/) vectors were sufficient, improving memory efficiency and cache behavior with no material loss in retrieval accuracy for their use cases.
* **Open source and ecosystem fit.** Qdrant’s OSS model aligned with Dragonfruit’s platform strategy and let them co-evolve the deployment with their edge and cloud stack.
diff --git a/qdrant-landing/content/blog/case-study-dust.md b/qdrant-landing/content/blog/case-study-dust.md
index 62be7af77..16ec5f142 100644
--- a/qdrant-landing/content/blog/case-study-dust.md
+++ b/qdrant-landing/content/blog/case-study-dust.md
@@ -83,8 +83,8 @@ billing and increase security by having the instance live within the same VPC.
2. **Scale and optimize:** As the load grew, Dust started to take advantage of Qdrant’s
features to tune the setup for optimization and scale. They started to look into
how they map and cache data, as well as applying some of Qdrant’s [built-in
-compression features](/documentation/guides/quantization/). In particular, Dust leveraged the control of the [MMAP
-payload threshold](/documentation/concepts/storage/#configuring-memmap-storage) as well as [Scalar Quantization](/articles/scalar-quantization/), which enabled Dust to manage
+compression features](/documentation/manage-data/quantization/). In particular, Dust leveraged the control of the [MMAP
+payload threshold](/documentation/manage-data/storage/#configuring-memmap-storage) as well as [Scalar Quantization](/articles/scalar-quantization/), which enabled Dust to manage
the balance between storing vectors on disk and keeping quantized vectors in RAM,
more effectively. “This allowed us to scale smoothly from there,” Polu says.
diff --git a/qdrant-landing/content/blog/case-study-fieldy.md b/qdrant-landing/content/blog/case-study-fieldy.md
index 1aaa2fdc8..2a9d30e50 100644
--- a/qdrant-landing/content/blog/case-study-fieldy.md
+++ b/qdrant-landing/content/blog/case-study-fieldy.md
@@ -47,7 +47,7 @@ For the engineering team, these failures had two serious implications. First, mi
After evaluating alternatives, Fieldy selected [Qdrant](http://qdrant.tech) for its stability, straightforward configuration, and suitability for self-hosted deployment. They opted to run Qdrant in the same environment as their backend services, ensuring low-latency access and avoiding the cross-region connectivity issues that had contributed to failures in the previous architecture.
-The migration process took less than a week. The team reused their existing vector schema to avoid redesigning their indexing logic during the transition. Embeddings, generated using Cohere’s multilingual v3 model, were batched locally before ingestion, replacing the integrated embedding calls previously handled within Weaviate. Following [Qdrant best practices](https://qdrant.tech/documentation/guides/optimize/), they disabled indexing during bulk import to maximize throughput, re-enabling it only after the migration was complete. The backend API calls were updated to use Qdrant’s gRPC interface, and [hybrid search](https://qdrant.tech/articles/hybrid-search/) with BM25 was combined with dense vector retrieval via [Reciprocal Rank Fusion (RRF)](https://qdrant.tech/documentation/concepts/hybrid-queries/#hybrid-search) for relevance scoring.
+The migration process took less than a week. The team reused their existing vector schema to avoid redesigning their indexing logic during the transition. Embeddings, generated using Cohere’s multilingual v3 model, were batched locally before ingestion, replacing the integrated embedding calls previously handled within Weaviate. Following [Qdrant best practices](https://qdrant.tech/documentation/operations/optimize/), they disabled indexing during bulk import to maximize throughput, re-enabling it only after the migration was complete. The backend API calls were updated to use Qdrant’s gRPC interface, and [hybrid search](https://qdrant.tech/articles/hybrid-search/) with BM25 was combined with dense vector retrieval via [Reciprocal Rank Fusion (RRF)](https://qdrant.tech/documentation/search/hybrid-queries/#hybrid-search) for relevance scoring.
### Architecture after migration
@@ -63,4 +63,4 @@ Fieldy also achieved a two-thirds reduction in infrastructure costs after moving
### Next steps for retrieval quality
-With reliability and cost efficiency achieved, Fieldy’s engineering focus is shifting toward retrieval quality. Planned improvements include adding [location filtering](https://qdrant.tech/documentation/concepts/filtering/#geo) and [datetime filtering](https://qdrant.tech/documentation/concepts/filtering/#datetime-range) within Qdrant to refine result sets, experimenting with late chunking strategies, and testing parallel hybrid searches to increase recall on complex multi-faceted queries. The team is also exploring embedding summaries alongside raw transcript segments to improve retrieval performance on high-level or thematic searches.
\ No newline at end of file
+With reliability and cost efficiency achieved, Fieldy’s engineering focus is shifting toward retrieval quality. Planned improvements include adding [location filtering](https://qdrant.tech/documentation/search/filtering/#geo) and [datetime filtering](https://qdrant.tech/documentation/search/filtering/#datetime-range) within Qdrant to refine result sets, experimenting with late chunking strategies, and testing parallel hybrid searches to increase recall on complex multi-faceted queries. The team is also exploring embedding summaries alongside raw transcript segments to improve retrieval performance on high-level or thematic searches.
\ No newline at end of file
diff --git a/qdrant-landing/content/blog/case-study-flipkart.md b/qdrant-landing/content/blog/case-study-flipkart.md
index b4482ecc6..c477e23ff 100644
--- a/qdrant-landing/content/blog/case-study-flipkart.md
+++ b/qdrant-landing/content/blog/case-study-flipkart.md
@@ -4,7 +4,6 @@ title: "Building real-time multimodal similarity search in Flipkart Trust & Safe
short_description: "Tackling fraud and abuse with scalable similarity search."
description: "Tackling fraud and abuse with scalable similarity search."
preview_image: /blog/case-study-flipkart/social_preview_partnership-flipkart.png
-social_preview_image: /blog/case-study/social_preview_partnership-flipkart.png
date: 2026-01-09
author: "Daniel Azoulai"
featured: true
diff --git a/qdrant-landing/content/blog/case-study-glassdollar.md b/qdrant-landing/content/blog/case-study-glassdollar.md
index 2bcde37fa..ff5508aee 100644
--- a/qdrant-landing/content/blog/case-study-glassdollar.md
+++ b/qdrant-landing/content/blog/case-study-glassdollar.md
@@ -48,7 +48,7 @@ Instead of optimizing around a single response time target, GlassDollar focused
## Accuracy Meant End-to-end Results, not Just Retriever Scores
-For GlassDollar, accuracy was measured at the workflow level: did the system surface the right companies for a given enterprise need, and did users act on the results. That meant optimizing the full architecture, including [query expansion](https://qdrant.tech/documentation/concepts/hybrid-queries/), retrieval, ranking, and contextual ranking, rather than chasing marginal gains in any single component. Faster retrieval mattered most because it enabled more queries to improve query expansion, which raised recall and improved the final shortlist quality.
+For GlassDollar, accuracy was measured at the workflow level: did the system surface the right companies for a given enterprise need, and did users act on the results. That meant optimizing the full architecture, including [query expansion](https://qdrant.tech/documentation/search/hybrid-queries/), retrieval, ranking, and contextual ranking, rather than chasing marginal gains in any single component. Faster retrieval mattered most because it enabled more queries to improve query expansion, which raised recall and improved the final shortlist quality.
## Contextual Embeddings Improved Matching Between User Intent and Company Descriptions
diff --git a/qdrant-landing/content/blog/case-study-kakao.md b/qdrant-landing/content/blog/case-study-kakao.md
index 422508ede..80e6fc741 100644
--- a/qdrant-landing/content/blog/case-study-kakao.md
+++ b/qdrant-landing/content/blog/case-study-kakao.md
@@ -47,9 +47,9 @@ After evaluating multiple vector databases, the Connectivity Platform team selec
The decision came down to a combination of search quality, performance, and operational fit.
-Qdrant’s hybrid search capabilities were a key factor. By supporting both dense vectors for semantic search and sparse vectors for keyword-based retrieval—combined using [Reciprocal Rank Fusion (RRF)](https://qdrant.tech/documentation/concepts/hybrid-queries/#reciprocal-rank-fusion-rrf), the team could address both conceptual questions and exact-match queries in a single system. Named Vectors made it possible to manage multiple vector types within the same collection.
+Qdrant’s hybrid search capabilities were a key factor. By supporting both dense vectors for semantic search and sparse vectors for keyword-based retrieval—combined using [Reciprocal Rank Fusion (RRF)](https://qdrant.tech/documentation/search/hybrid-queries/#reciprocal-rank-fusion-rrf), the team could address both conceptual questions and exact-match queries in a single system. Named Vectors made it possible to manage multiple vector types within the same collection.
-Performance was another major consideration. Qdrant’s [Rust-based architecture](https://qdrant.tech/articles/why-rust/), efficient [HNSW implementation](https://qdrant.tech/course/essentials/day-2/what-is-hnsw/), and support for [scalar quantization (INT8)](https://qdrant.tech/documentation/guides/quantization/#scalar-quantization) provided low-latency search while optimizing memory usage. This was crucial for an internal service expected to scale over time.
+Performance was another major consideration. Qdrant’s [Rust-based architecture](https://qdrant.tech/articles/why-rust/), efficient [HNSW implementation](https://qdrant.tech/course/essentials/day-2/what-is-hnsw/), and support for [scalar quantization (INT8)](https://qdrant.tech/documentation/manage-data/quantization/#scalar-quantization) provided low-latency search while optimizing memory usage. This was crucial for an internal service expected to scale over time.
From an operational standpoint, Qdrant fit naturally into Kakao’s environment. Its single-binary design simplified deployment, it ran reliably on Kubernetes, and it allowed Kakao to retain full control over data by self-hosting within internal infrastructure.
@@ -63,7 +63,7 @@ The team integrated Qdrant using the asynchronous Python client (`AsyncQdrantCli
Collections were designed around data sources, with separate collections for internal technical documentation, historical inquiry data, and a semantic cache used to speed up repeated queries. Metadata filtering allows the system to narrow search scope by service or time period, while maintaining fast response times.
-Each collection stores both dense and sparse vectors using [Named Vectors](https://qdrant.tech/documentation/concepts/vectors/#named-vectors). Hybrid search results are merged using RRF to produce more accurate answers across different query types.
+Each collection stores both dense and sparse vectors using [Named Vectors](https://qdrant.tech/documentation/manage-data/vectors/#named-vectors). Hybrid search results are merged using RRF to produce more accurate answers across different query types.
An automated indexing pipeline handles document ingestion end-to-end. This ranges from cleansing and chunking, to embedding generation, to batch upserts into Qdrant.
diff --git a/qdrant-landing/content/blog/case-study-lettria-v2.md b/qdrant-landing/content/blog/case-study-lettria-v2.md
index dd791b489..dd4ccfc8c 100644
--- a/qdrant-landing/content/blog/case-study-lettria-v2.md
+++ b/qdrant-landing/content/blog/case-study-lettria-v2.md
@@ -38,7 +38,7 @@ Enterprises in regulated sectors deal with extensive, complex documentation feat
One component of the build was the vector database. Lettria evaluated Weaviate, Milvus, and Qdrant based on their hybrid search capability, deployment simplicity (Docker, Kubernetes), and search performance (latency, RAM usage).
-Ultimately, Lettria chose Qdrant. First, it had a simple Kubernetes deployment, superior latency and lower memory footprint in competitive benchmarks. Additionally, there were unique features, such as the grouping API and detailed [payload indexing](https://qdrant.tech/documentation/concepts/payload/), that made Qdrant stand out.
+Ultimately, Lettria chose Qdrant. First, it had a simple Kubernetes deployment, superior latency and lower memory footprint in competitive benchmarks. Additionally, there were unique features, such as the grouping API and detailed [payload indexing](https://qdrant.tech/documentation/manage-data/payload/), that made Qdrant stand out.
## Building the document understanding and extraction pipeline
@@ -288,7 +288,7 @@ Note that they duplicate the english tags for string properties as they are cons
#### Filtering
-based on a filter definition. Lettria flattens properties on Neo4J so that they can use similar filters. The nested structure ([more on that here](https://qdrant.tech/documentation/concepts/filtering/#nested-key)) {"foo": { "bar": "qux" }} is kept in Qdrant and dot separated in NeoJ: foo.bar=qux so that they can perform match queries with similar keys from Qdrant. This introduces some complexity as they need to be careful in the handling of url and other 'dot rich' values in properties.
+based on a filter definition. Lettria flattens properties on Neo4J so that they can use similar filters. The nested structure ([more on that here](https://qdrant.tech/documentation/search/filtering/#nested-key)) {"foo": { "bar": "qux" }} is kept in Qdrant and dot separated in NeoJ: foo.bar=qux so that they can perform match queries with similar keys from Qdrant. This introduces some complexity as they need to be careful in the handling of url and other 'dot rich' values in properties.
If they want to filter based on the onto:surface value, the same keys are used in Qdrant and Neo4J:
diff --git a/qdrant-landing/content/blog/case-study-my-askai.md b/qdrant-landing/content/blog/case-study-my-askai.md
index f7765411d..b41c35c74 100644
--- a/qdrant-landing/content/blog/case-study-my-askai.md
+++ b/qdrant-landing/content/blog/case-study-my-askai.md
@@ -48,7 +48,7 @@ Everything changed when OpenAI released its embedding model. Instead of hoping u
>"That was a transformational moment for us. Now we could have hundreds of help articles ingested in the system, and a user can ask a question, and we can answer that really specifically and cheaply and quickly."
-Over time, the team also learned that semantic search was strong but not universally sufficient, especially when tickets contained product names, error codes, or specific identifiers that benefit from lexical matching. That realization led My AskAI toward experimentation with [hybrid search](https://qdrant.tech/documentation/concepts/hybrid-queries/) as a way to blend semantic similarity with keyword signals, while keeping the operational footprint small.
+Over time, the team also learned that semantic search was strong but not universally sufficient, especially when tickets contained product names, error codes, or specific identifiers that benefit from lexical matching. That realization led My AskAI toward experimentation with [hybrid search](https://qdrant.tech/documentation/search/hybrid-queries/) as a way to blend semantic similarity with keyword signals, while keeping the operational footprint small.
## Why My AskAI Chose Qdrant: Scalability, Integrations, and Developer Experience
@@ -74,7 +74,7 @@ Once on Qdrant Cloud, My AskAI leaned into a workflow where scaling and day-to-d
The ideal infrastructure, as Alex puts it, is the kind you don't have to think about. "I didn't want to have to think about it."
-My AskAI also began running customer-specific proofs of concept for [hybrid search](https://qdrant.tech/documentation/concepts/hybrid-queries/), aiming to find the right blend that improved retrieval in the edge cases where semantic-only results were not enough. Before Qdrant, managing hybrid search had required spinning up separate infrastructure on AWS and handling reranking externally. With Qdrant, the team could enable hybrid search per collection and iterate without managing additional systems.
+My AskAI also began running customer-specific proofs of concept for [hybrid search](https://qdrant.tech/documentation/search/hybrid-queries/), aiming to find the right blend that improved retrieval in the edge cases where semantic-only results were not enough. Before Qdrant, managing hybrid search had required spinning up separate infrastructure on AWS and handling reranking externally. With Qdrant, the team could enable hybrid search per collection and iterate without managing additional systems.
>"Just being able to turn on hybrid search is super useful. It removes that headache and pushes management of hybrid search down to the vendor."
diff --git a/qdrant-landing/content/blog/case-study-nyris.md b/qdrant-landing/content/blog/case-study-nyris.md
index fc459b29d..977a76ce7 100644
--- a/qdrant-landing/content/blog/case-study-nyris.md
+++ b/qdrant-landing/content/blog/case-study-nyris.md
@@ -50,14 +50,14 @@ As part of their selection process, Nyris evaluated several critical factors to
- **Insert Speed**: Nyris assessed how quickly data could be inserted into the database, including the performance during simultaneous data ingests and query requests. Qdrant excelled in this area, providing the necessary efficiency for their operations.
- **Total Cost of Ownership**: Nyris analyzed the infrastructure costs and licensing fees associated with each solution. Qdrant offered a competitive total cost of ownership, making it an economically viable option.
- **Data Sovereignty**: The ability to deploy Qdrant in their own clusters was a key aspect for Nyris, ensuring they maintained control over their data and complied with relevant data sovereignty requirements.
-- **Dedicated Vector Search Engine:** One of the key advantages of Qdrant, as Lukasson highlights, is its specialization as a dedicated, native vector search engine. "Qdrant, being purpose-built for vector search, can introduce relevant features much faster, like [quantization](https://qdrant.tech/documentation/guides/quantization/), integer8 support, and float32 rescoring. These advancements make searches more precise and cost-effective without sacrificing accuracy—exactly what Nyris needs," said Lukasson. "When optimizing for search accuracy and speed, compromises aren't an option. Just as you wouldn't use a truck to race in Formula 1, we needed a solution designed specifically for vector search, not just a general database with vector search tacked on. With every Qdrant release, we gain new, tailored features that directly enhance our use case.”
+- **Dedicated Vector Search Engine:** One of the key advantages of Qdrant, as Lukasson highlights, is its specialization as a dedicated, native vector search engine. "Qdrant, being purpose-built for vector search, can introduce relevant features much faster, like [quantization](https://qdrant.tech/documentation/manage-data/quantization/), integer8 support, and float32 rescoring. These advancements make searches more precise and cost-effective without sacrificing accuracy—exactly what Nyris needs," said Lukasson. "When optimizing for search accuracy and speed, compromises aren't an option. Just as you wouldn't use a truck to race in Formula 1, we needed a solution designed specifically for vector search, not just a general database with vector search tacked on. With every Qdrant release, we gain new, tailored features that directly enhance our use case.”
## Key Benefits of Qdrant in Production
Nyris has found several aspects of Qdrant particularly beneficial in their production environment:
-- **Enhanced Security with JWT**: [JSON Web Tokens](https://qdrant.tech/documentation/guides/security/#granular-access-control-with-jwt) provide enhanced security and performance, critical for safeguarding their data.
-- **Seamless Scalability**: Qdrant's ability to [scale effortlessly across nodes](https://qdrant.tech/documentation/guides/distributed_deployment/) ensures consistent high performance, even as Nyris's data volume grows.
+- **Enhanced Security with JWT**: [JSON Web Tokens](https://qdrant.tech/documentation/operations/security/#granular-access-control-with-jwt) provide enhanced security and performance, critical for safeguarding their data.
+- **Seamless Scalability**: Qdrant's ability to [scale effortlessly across nodes](https://qdrant.tech/documentation/operations/distributed_deployment/) ensures consistent high performance, even as Nyris's data volume grows.
- **Flexible Search Options**: The availability of both graph-based and brute-force search methods offers Nyris the flexibility to tailor the search approach to specific use case requirements.
- **Versatile Data Handling**: Qdrant imposes almost no restrictions on data types and vector sizes, allowing Nyris to manage diverse and complex datasets effectively.
- **Built with Rust**: The use of [Rust](https://qdrant.tech/articles/why-rust/) ensures superior performance and future-proofing, while its open-source nature allows Nyris to inspect and customize the code as necessary.
diff --git a/qdrant-landing/content/blog/case-study-qatech.md b/qdrant-landing/content/blog/case-study-qatech.md
index e6789835e..3046f2242 100644
--- a/qdrant-landing/content/blog/case-study-qatech.md
+++ b/qdrant-landing/content/blog/case-study-qatech.md
@@ -43,7 +43,7 @@ Qdrant’s fast, scalable [vector search](/advanced-search/) enables QA.tech to
## Why QA.tech chose Qdrant for its AI Agent platform
-QA.tech’s AI Agents handle high-velocity web actions, requiring efficient real-time operations and scalable infrastructure. The team faced challenges with managing network overhead, CPU load, and the need to store [multiple embeddings](/documentation/concepts/vectors/#multivectors) for different use cases. Qdrant provided the solution to address these issues.
+QA.tech’s AI Agents handle high-velocity web actions, requiring efficient real-time operations and scalable infrastructure. The team faced challenges with managing network overhead, CPU load, and the need to store [multiple embeddings](/documentation/manage-data/vectors/#multivectors) for different use cases. Qdrant provided the solution to address these issues.
**Reducing Network Overhead with Batch Operations**
diff --git a/qdrant-landing/content/blog/case-study-qovery.md b/qdrant-landing/content/blog/case-study-qovery.md
index 8dca1fa27..ae6719aea 100644
--- a/qdrant-landing/content/blog/case-study-qovery.md
+++ b/qdrant-landing/content/blog/case-study-qovery.md
@@ -35,7 +35,7 @@ Qovery’s ambitious vision for the DevOps Copilot ([read more here](https://www
### Seamless Integration of Scalable and Efficient Vector Search
-Qovery chose [Qdrant Cloud](https://qdrant.tech/cloud/) after carefully evaluating several options. Romaric Philogène, CEO and co-founder of Qovery, highlighted the importance of open-source credibility, performance, ease of use, and scalability. Qdrant’s native support for [real-time indexing](https://qdrant.tech/documentation/concepts/indexing/) and low-latency queries made it ideal for handling Qovery’s significant data volume and frequency of updates.
+Qovery chose [Qdrant Cloud](https://qdrant.tech/cloud/) after carefully evaluating several options. Romaric Philogène, CEO and co-founder of Qovery, highlighted the importance of open-source credibility, performance, ease of use, and scalability. Qdrant’s native support for [real-time indexing](https://qdrant.tech/documentation/manage-data/indexing/) and low-latency queries made it ideal for handling Qovery’s significant data volume and frequency of updates.
The integration process was straightforward, with minimal operational overhead, enabling the Qovery team to focus their resources on enhancing the Copilot's capabilities rather than maintaining complex database infrastructure. With its Rust-based architecture, Qdrant delivered the speed, accuracy, and low resource utilization Qovery required.
diff --git a/qdrant-landing/content/blog/case-study-sprinklr.md b/qdrant-landing/content/blog/case-study-sprinklr.md
index 9043513d7..d0d6635d8 100644
--- a/qdrant-landing/content/blog/case-study-sprinklr.md
+++ b/qdrant-landing/content/blog/case-study-sprinklr.md
@@ -46,8 +46,8 @@ After evaluating several options of vector DBs, including Pinecone, Weaviate, an
- **High Customizability:** Qdrant provided Sprinklr with essential flexibility through high-level abstractions that allowed for extensive customizations. The diverse teams at Sprinklr, working on various GenAI applications, needed a solution that could adapt to different workloads. “The ability to fine-tune configurations at the collection level was crucial for our varied AI applications,” says Sonavane. Qdrant met this need by offering:
- **Configuration for high-speed search** that fine-tunes settings for optimal performance.
- - [**Quantized vectors**](https://qdrant.tech/documentation/guides/quantization/) for high-dimensional data workloads
- - [**Memory map**](https://qdrant.tech/documentation/concepts/storage/#configuring-memmap-storage) for efficient search optimizing memory usage.
+ - [**Quantized vectors**](https://qdrant.tech/documentation/manage-data/quantization/) for high-dimensional data workloads
+ - [**Memory map**](https://qdrant.tech/documentation/manage-data/storage/#configuring-memmap-storage) for efficient search optimizing memory usage.
- **Speed and Cost Efficiency:** Qdrant provided the best combination of speed and cost, making it the most viable solution for Sprinklr’s needs. “We needed a solution that wouldn’t just meet our performance requirements but also keep costs in check, and Qdrant delivered on both fronts,” says Sonavane.
- **Enhanced Monitoring:** Qdrant’s monitoring tools further boosted system efficiency, allowing Sprinklr to maintain high performance across their platforms.
@@ -55,7 +55,7 @@ After evaluating several options of vector DBs, including Pinecone, Weaviate, an
Sprinklr’s transition to Qdrant was carefully managed, starting with 10% of their workloads before gradually scaling up. The transition was seamless, thanks in part to Qdrant’s configurable [Web UI](https://qdrant.tech/documentation/interfaces/web-ui/), which allowed Sprinklr to fully utilize its capabilities within the existing infrastructure.
-“Qdrant’s ability to index [multiple vectors](https://qdrant.tech/documentation/concepts/vectors/#multivectors) simultaneously and retrieve and re-rank with precision brought significant improvements to our workflow,” Sonavane remarks. This feature reduced the need for repeated retrieval processes, significantly improving efficiency. Additionally, Qdrant’s [quantization](https://qdrant.tech/documentation/guides/quantization/) and [memory mapping](https://qdrant.tech/documentation/concepts/storage/#configuring-memmap-storage) features enabled Sprinklr to reduce RAM usage, leading to substantial cost savings.
+“Qdrant’s ability to index [multiple vectors](https://qdrant.tech/documentation/manage-data/vectors/#multivectors) simultaneously and retrieve and re-rank with precision brought significant improvements to our workflow,” Sonavane remarks. This feature reduced the need for repeated retrieval processes, significantly improving efficiency. Additionally, Qdrant’s [quantization](https://qdrant.tech/documentation/manage-data/quantization/) and [memory mapping](https://qdrant.tech/documentation/manage-data/storage/#configuring-memmap-storage) features enabled Sprinklr to reduce RAM usage, leading to substantial cost savings.
Qdrant now plays a key supportive role in enhancing Sprinklr’s vector search capabilities within its AI-driven applications, which is designed to be cloud- and LLM-agnostic. The platform supports various AI-driven tasks, from retrieval and re-ranking to serving advanced customer experiences. “Retrieval is the foundation of all our AI tasks, and Qdrant’s resilience and speed have made it an integral part of our system,” Sonavane emphasizes. Sprinklr operates [Qdrant as a managed service on AWS](https://qdrant.tech/cloud/), ensuring scalability, reliability, and ease of use.
diff --git a/qdrant-landing/content/blog/case-study-visua.md b/qdrant-landing/content/blog/case-study-visua.md
index d0a8503da..4dea6e287 100644
--- a/qdrant-landing/content/blog/case-study-visua.md
+++ b/qdrant-landing/content/blog/case-study-visua.md
@@ -81,6 +81,6 @@ Integrating Qdrant into VISUA's quality control operations has delivered measura
#### Expanding Qdrant’s Use Beyond Anomaly Detection
-While the primary application of Qdrant is focused on quality control, VISUA's team is actively exploring additional use cases with Qdrant. VISUA's use of Qdrant has inspired new opportunities, notably in content moderation. "The moment we started to experiment with Qdrant, opened up a lot of ideas within the team for new applications,” said Prest on the potential unlocked by Qdrant. For example, this has led them to actively explore the Qdrant [Discovery API](/documentation/concepts/explore/?q=discovery#discovery-api), with an eye on enhancing content moderation processes.
+While the primary application of Qdrant is focused on quality control, VISUA's team is actively exploring additional use cases with Qdrant. VISUA's use of Qdrant has inspired new opportunities, notably in content moderation. "The moment we started to experiment with Qdrant, opened up a lot of ideas within the team for new applications,” said Prest on the potential unlocked by Qdrant. For example, this has led them to actively explore the Qdrant [Discovery API](/documentation/search/explore/?q=discovery#discovery-api), with an eye on enhancing content moderation processes.
Beyond content moderation, VISUA is set for significant growth by broadening its copyright infringement detection services. As the demand for detecting a wider range of infringements, like unauthorized use of popular characters on merchandise, increases, VISUA plans to expand its technology capabilities. Qdrant will be pivotal in this expansion, enabling VISUA to meet the complex and growing challenges of moderating copyrighted content effectively and ensuring comprehensive protection for brands and creators.
\ No newline at end of file
diff --git a/qdrant-landing/content/blog/case-study-voiceflow.md b/qdrant-landing/content/blog/case-study-voiceflow.md
index f7d7913ed..af9bc572d 100644
--- a/qdrant-landing/content/blog/case-study-voiceflow.md
+++ b/qdrant-landing/content/blog/case-study-voiceflow.md
@@ -27,7 +27,7 @@ tags:
As part of this development, the Voiceflow engineering team was looking for a [vector database](/qdrant-vector-database/) solution to power their RAG setup. They evaluated various vector databases based on several key factors:
-- **Performance**: The ability to [handle the scale](/documentation/guides/distributed_deployment/) required by Voiceflow, supporting hundreds of thousands of projects efficiently.
+- **Performance**: The ability to [handle the scale](/documentation/operations/distributed_deployment/) required by Voiceflow, supporting hundreds of thousands of projects efficiently.
- **Metadata**: The capability to tag data and chunks and retrieve based on those values, essential for organizing and accessing specific information swiftly.
- **Managed Solution**: The availability of a [managed service](/documentation/cloud/) with automated maintenance, scaling, and security, freeing the team from infrastructure concerns.
@@ -82,7 +82,7 @@ Voiceflow achieved significant improvements and efficiencies by leveraging Qdran
- **Optimized Performance**: Resolved concerns about retrieval times with a high number of tags by optimizing indexing strategies, achieving efficient performance.
- **Minimal Operational Overhead**: Experienced minimal overhead, streamlining their operational processes.
- **Future-Ready**: Anticipates further innovation in hybrid search with multi-token attention.
-- **Multitenancy Support**: Utilized Qdrant's efficient and [isolated data management](/documentation/guides/multiple-partitions/) to support diverse user needs.
+- **Multitenancy Support**: Utilized Qdrant's efficient and [isolated data management](/documentation/manage-data/multitenancy/) to support diverse user needs.
Overall, Qdrant's features and infrastructure provided Voiceflow with a stable, scalable, and efficient solution for their data processing and retrieval needs.
diff --git a/qdrant-landing/content/blog/case-study-xaver.md b/qdrant-landing/content/blog/case-study-xaver.md
index 3151cb39f..0c6521cae 100644
--- a/qdrant-landing/content/blog/case-study-xaver.md
+++ b/qdrant-landing/content/blog/case-study-xaver.md
@@ -49,7 +49,7 @@ To make this work, Xaver needed a system that could manage knowledge retrieval a
### The solution: Semantic caching, or a two-layer knowledge engine
[Qdrant](https://qdrant.tech/documentation/overview/) was selected after extensive evaluation for several reasons:
-Xaver’s AI platform includes a “knowledge engine,” an [indexing](https://qdrant.tech/documentation/concepts/indexing/) and [retrieval](https://qdrant.tech/documentation/beginner-tutorials/retrieval-quality/) layer that feeds contextually relevant insights to both automated and human-assisted consultations. It powers two key functions:
+Xaver’s AI platform includes a “knowledge engine,” an [indexing](https://qdrant.tech/documentation/manage-data/indexing/) and [retrieval](https://qdrant.tech/documentation/beginner-tutorials/retrieval-quality/) layer that feeds contextually relevant insights to both automated and human-assisted consultations. It powers two key functions:
1. Automated consultation through AI-led sessions via phone, video avatar, messengers, or web chat.
diff --git a/qdrant-landing/content/blog/comparing-qdrant-vs-pinecone-vector-databases.md b/qdrant-landing/content/blog/comparing-qdrant-vs-pinecone-vector-databases.md
index d01b9faa4..e1efde5e4 100644
--- a/qdrant-landing/content/blog/comparing-qdrant-vs-pinecone-vector-databases.md
+++ b/qdrant-landing/content/blog/comparing-qdrant-vs-pinecone-vector-databases.md
@@ -27,7 +27,7 @@ Traditional databases, while effective at handling structured data, fall short w
- **Indexing Limitations**: Database indexing methods like B-Trees or hash indexes, typically used in relational databases, are inefficient for high-dimensional data and show poor query performance.
- **Curse of Dimensionality**: As dimensions increase, data points become sparse, and distance metrics like Euclidean distance lose their effectiveness, leading to poor search query performance.
- **Lack of Specialized Algorithms**: Traditional databases do not incorporate advanced algorithms designed to handle high-dimensional data, resulting in slow query processing times.
-- **Scalability Challenges**: Managing and querying high-dimensional [vectors](https://qdrant.tech/documentation/concepts/vectors/) require optimized data structures, which traditional databases are not built to handle.
+- **Scalability Challenges**: Managing and querying high-dimensional [vectors](https://qdrant.tech/documentation/manage-data/vectors/) require optimized data structures, which traditional databases are not built to handle.
- **Storage Inefficiency**: Traditional databases are not optimized for efficiently storing large volumes of high-dimensional data, facing significant challenges in managing space complexity and [retrieval efficiency](https://qdrant.tech/documentation/tutorials/retrieval-quality/).
Vector databases address these challenges by efficiently storing and querying high-dimensional vectors. They offer features such as high-dimensional vector storage and retrieval, efficient similarity search, sophisticated indexing algorithms, advanced compression techniques, and integration with various machine learning frameworks.
@@ -44,14 +44,14 @@ Qdrant is highly scalable and performant: it can handle billions of vectors effi
### Key Features of Qdrant Vector Database
-- **Advanced Similarity Search:** Qdrant supports various similarity [search](https://qdrant.tech/documentation/concepts/search/) metrics like dot product, cosine similarity, Euclidean distance, and Manhattan distance. You can store additional information along with vectors, known as [payload](https://qdrant.tech/documentation/concepts/payload/) in Qdrant terminology. A payload is any JSON formatted data.
+- **Advanced Similarity Search:** Qdrant supports various similarity [search](https://qdrant.tech/documentation/search/search/) metrics like dot product, cosine similarity, Euclidean distance, and Manhattan distance. You can store additional information along with vectors, known as [payload](https://qdrant.tech/documentation/manage-data/payload/) in Qdrant terminology. A payload is any JSON formatted data.
- **Built Using Rust:** Qdrant is built with Rust, and leverages its performance and efficiency. Rust is famed for its [memory safety](https://arxiv.org/abs/2206.05503) without the overhead of a garbage collector, and rivals C and C++ in speed.
-- **Scaling and Multitenancy**: Qdrant supports both vertical and horizontal scaling and uses the Raft consensus protocol for [distributed deployments](https://qdrant.tech/documentation/guides/distributed_deployment/). Developers can run Qdrant clusters with replicas and shards, and seamlessly scale to handle large datasets. Qdrant also supports [multitenancy](https://qdrant.tech/documentation/guides/multiple-partitions/) where developers can create single collections and partition them using payload.
-- **Payload Indexing and Filtering:** Just as Qdrant allows attaching any JSON payload to vectors, it also supports payload indexing and [filtering](https://qdrant.tech/documentation/concepts/filtering/) with a wide range of data types and query conditions, including keyword matching, full-text filtering, numerical ranges, nested object filters, and [geo](https://qdrant.tech/documentation/concepts/filtering/#geo)filtering.
+- **Scaling and Multitenancy**: Qdrant supports both vertical and horizontal scaling and uses the Raft consensus protocol for [distributed deployments](https://qdrant.tech/documentation/operations/distributed_deployment/). Developers can run Qdrant clusters with replicas and shards, and seamlessly scale to handle large datasets. Qdrant also supports [multitenancy](https://qdrant.tech/documentation/manage-data/multitenancy/) where developers can create single collections and partition them using payload.
+- **Payload Indexing and Filtering:** Just as Qdrant allows attaching any JSON payload to vectors, it also supports payload indexing and [filtering](https://qdrant.tech/documentation/search/filtering/) with a wide range of data types and query conditions, including keyword matching, full-text filtering, numerical ranges, nested object filters, and [geo](https://qdrant.tech/documentation/search/filtering/#geo)filtering.
- **Hybrid Search with Sparse Vectors:** Qdrant supports both dense and [sparse vectors](https://qdrant.tech/articles/sparse-vectors/), thereby enabling hybrid search capabilities. Sparse vectors are numerical representations of data where most of the elements are zero. Developers can combine search results from dense and sparse vectors, where sparse vectors ensure that results containing the specific keywords are returned and dense vectors identify semantically similar results.
-- **Built-In Vector Quantization:** Qdrant offers three different [quantization](https://qdrant.tech/documentation/guides/quantization/) options to developers to optimize resource usage. Scalar quantization balances accuracy, speed, and compression by converting 32-bit floats to 8-bit integers. Binary quantization, the fastest method, significantly reduces memory usage. Product quantization offers the highest compression, and is perfect for memory-constrained scenarios.
-- **Flexible Deployment Options:** Qdrant offers a range of deployment options. Developers can easily set up Qdrant (or Qdrant cluster) [locally](https://qdrant.tech/documentation/quick-start/#download-and-run) using Docker for free. [Qdrant Cloud](https://qdrant.tech/cloud/), on the other hand, is a scalable, managed solution that provides easy access with flexible pricing. Additionally, Qdrant offers [Hybrid Cloud](https://qdrant.tech/hybrid-cloud/) which integrates Kubernetes clusters from cloud, on-premises, or edge, into an enterprise-grade managed service.
-- **Security through API Keys, JWT and RBAC:** Qdrant offers developers various ways to [secure](https://qdrant.tech/documentation/guides/security/) their instances. For simple authentication, developers can use API keys (including Read Only API keys). For more granular access control, it offers JSON Web Tokens (JWT) and the ability to build Role-Based Access Control (RBAC). TLS can be enabled to secure connections. Qdrant is also [SOC 2 Type II](https://qdrant.tech/blog/qdrant-soc2-type2-audit/) certified.
+- **Built-In Vector Quantization:** Qdrant offers three different [quantization](https://qdrant.tech/documentation/manage-data/quantization/) options to developers to optimize resource usage. Scalar quantization balances accuracy, speed, and compression by converting 32-bit floats to 8-bit integers. Binary quantization, the fastest method, significantly reduces memory usage. Product quantization offers the highest compression, and is perfect for memory-constrained scenarios.
+- **Flexible Deployment Options:** Qdrant offers a range of deployment options. Developers can easily set up Qdrant (or Qdrant cluster) [locally](https://qdrant.tech/documentation/quickstart/#download-and-run) using Docker for free. [Qdrant Cloud](https://qdrant.tech/cloud/), on the other hand, is a scalable, managed solution that provides easy access with flexible pricing. Additionally, Qdrant offers [Hybrid Cloud](https://qdrant.tech/hybrid-cloud/) which integrates Kubernetes clusters from cloud, on-premises, or edge, into an enterprise-grade managed service.
+- **Security through API Keys, JWT and RBAC:** Qdrant offers developers various ways to [secure](https://qdrant.tech/documentation/operations/security/) their instances. For simple authentication, developers can use API keys (including Read Only API keys). For more granular access control, it offers JSON Web Tokens (JWT) and the ability to build Role-Based Access Control (RBAC). TLS can be enabled to secure connections. Qdrant is also [SOC 2 Type II](https://qdrant.tech/blog/qdrant-soc2-type2-audit/) certified.
Additionally, Qdrant integrates seamlessly with popular machine learning frameworks such as [LangChain](https://qdrant.tech/blog/using-qdrant-and-langchain/), LlamaIndex, and Haystack; and Qdrant Hybrid Cloud integrates seamlessly with AWS, DigitalOcean, Google Cloud, Linode, Oracle Cloud, OpenShift, and Azure, among others.
@@ -167,7 +167,7 @@ References:
- [Pinecone Documentation](https://docs.pinecone.io/)
- [Qdrant Documentation](https://qdrant.tech/documentation/)
- - If you aren't ready yet, [try out Qdrant locally](/documentation/quick-start/) or sign up for [Qdrant Cloud](https://cloud.qdrant.io/signup).
+ - If you aren't ready yet, [try out Qdrant locally](/documentation/quickstart/) or sign up for [Qdrant Cloud](https://cloud.qdrant.io/signup).
- For more basic information on Qdrant read our [Overview](/documentation/overview/) section or learn more about Qdrant Cloud's [Free Tier](/documentation/cloud/).
diff --git a/qdrant-landing/content/blog/cve-2024-2221-response.md b/qdrant-landing/content/blog/cve-2024-2221-response.md
index 1079e298f..6a5c83872 100644
--- a/qdrant-landing/content/blog/cve-2024-2221-response.md
+++ b/qdrant-landing/content/blog/cve-2024-2221-response.md
@@ -45,13 +45,13 @@ guide](/documentation/cloud/authentication/#test-cluster-access).
If your Qdrant deployment is local, you do not need an API key.
Your next step depends on how you installed Qdrant. For details, read the
-[Qdrant Installation](/documentation/guides/installation/)
+[Qdrant Installation](/documentation/operations/installation/)
guide.
#### If you use the Qdrant container or binary
Upgrade your deployment. Run the commands in the applicable section of the
-[Qdrant Installation](/documentation/guides/installation/)
+[Qdrant Installation](/documentation/operations/installation/)
guide. The default commands automatically pull the latest version of Qdrant.
#### If you use the Qdrant helm chart
diff --git a/qdrant-landing/content/blog/cve-2024-3829-response.md b/qdrant-landing/content/blog/cve-2024-3829-response.md
index fd66ee12d..0291a3975 100644
--- a/qdrant-landing/content/blog/cve-2024-3829-response.md
+++ b/qdrant-landing/content/blog/cve-2024-3829-response.md
@@ -45,13 +45,13 @@ guide](https://qdrant.tech/documentation/cloud/quickstart-cloud/#step-2-test-clu
If your Qdrant deployment is local, you do not need an API key.
Your next step depends on how you installed Qdrant. For details, read the
-[Qdrant Installation](https://qdrant.tech/documentation/guides/installation/)
+[Qdrant Installation](https://qdrant.tech/documentation/operations/installation/)
guide.
#### If you use the Qdrant container or binary
Upgrade your deployment. Run the commands in the applicable section of the
-[Qdrant Installation](https://qdrant.tech/documentation/guides/installation/)
+[Qdrant Installation](https://qdrant.tech/documentation/operations/installation/)
guide. The default commands automatically pull the latest version of Qdrant.
#### If you use the Qdrant helm chart
diff --git a/qdrant-landing/content/blog/datatalk-club-podcast-plug.md b/qdrant-landing/content/blog/datatalk-club-podcast-plug.md
index ac0297562..08e0d44a6 100644
--- a/qdrant-landing/content/blog/datatalk-club-podcast-plug.md
+++ b/qdrant-landing/content/blog/datatalk-club-podcast-plug.md
@@ -53,7 +53,7 @@ In the podcast, we addressed the following:
- **Model evaluation(LLM)** - Understanding the model at the domain-level for the given use case, supporting required context length and terminology/concept understanding.
- **Ingestion pipeline evaluation** - Evaluating factors related to data ingestion and processing such as chunk strategies, chunk size, chunk overlap, and more.
- **Retrieval evaluation** - Understanding factors such as average precision, [Distributed cumulative gain](https://en.wikipedia.org/wiki/Discounted_cumulative_gain) (DCG), as well as normalized DCG.
-- **Generation evaluation(E2E)** - Establishing guardrails. Evaulating prompts. Evaluating the number of chunks needed to set up the context for generation.
+- **Generation evaluation(E2E)** - Establishing guardrails. Evaluating prompts. Evaluating the number of chunks needed to set up the context for generation.
### The recording
diff --git a/qdrant-landing/content/blog/decay-functions.md b/qdrant-landing/content/blog/decay-functions.md
index 51ae9cfe9..064e2bff1 100644
--- a/qdrant-landing/content/blog/decay-functions.md
+++ b/qdrant-landing/content/blog/decay-functions.md
@@ -5,7 +5,6 @@ slug: decay-functions # Change this slug to your page slug if needed
short_description: Why's and how's of decay functions in Qdrant's relevance score boosting. # Change this
description: Understanding decay functions for relevance score boosting. # Change this
preview_image: /blog/decay-functions/preview/preview.jpg # Change this
-social_preview_image: /blog/decay-functions/preview/social_preview.jpg # Optional image used for link previews
title_preview_image: /blog/decay-functions/preview/title.jpg # Optional image used for blog post title
date: 2025-09-01T14:55:45+02:00
author: Evgeniya Sukhodolskaya
@@ -17,7 +16,7 @@ tags:
---
-A problem we've noticed while monitoring the [Qdrant Discord Community](https://discord.gg/d4MPnX3s) is that due to the extensive list of expressions that the [score boosting](https://qdrant.tech/documentation/concepts/search-relevance/#score-boosting) functionality provides, there's room for confusion on how it's supposed to be applied. And that might block you from moving the business logic behind relevance scoring into the Qdrant search engine. We don't want that!
+A problem we've noticed while monitoring the [Qdrant Discord Community](https://discord.gg/d4MPnX3s) is that due to the extensive list of expressions that the [score boosting](https://qdrant.tech/documentation/search/search-relevance/#score-boosting) functionality provides, there's room for confusion on how it's supposed to be applied. And that might block you from moving the business logic behind relevance scoring into the Qdrant search engine. We don't want that!
In this blog, we'd like to de-spooky-fy the **decay functions** part of the score boosting, or, more precisely: `LinDecayExpression`, `ExpDecayExpression`, and `GaussDecayExpression` -- frequent guests on the Discord *#ask-for-help* channel.
@@ -144,13 +143,13 @@ Anything longer than 9 minutes or shorter than 1 minute quickly becomes less rel
**Explanation:**
Out of all promo codes for different products/events, users will strongly prefer ones uploaded *just now*, as they’re most likely to work. But that relevance drops quickly over time: within a week, it reaches a midpoint of 0.1. After that, if a promo code is still active, it’s a gamble anyway: might work, might not. So old-but-not-expired codes are roughly equally irrelevant.
-**Note #5.** For Qdrant [datetime](https://qdrant.tech/documentation/concepts/payload/#datetime) payloads, `scale` should always be provided in seconds!
+**Note #5.** For Qdrant [datetime](https://qdrant.tech/documentation/manage-data/payload/#datetime) payloads, `scale` should always be provided in seconds!
### I Don't Know All the Parameters in Advance
As you can see, using decay functions in Qdrant's score boosting means you'll have to know the parameters in advance.
-What we've seen in our Discord Community quite a few times is that people try to apply decay functions to normalize similarity scores from [prefetches](https://qdrant.tech/documentation/concepts/hybrid-queries/#multi-stage-queries), usually as a way to fuse results from different types of similarity searches.
+What we've seen in our Discord Community quite a few times is that people try to apply decay functions to normalize similarity scores from [prefetches](https://qdrant.tech/documentation/search/hybrid-queries/#multi-stage-queries), usually as a way to fuse results from different types of similarity searches.
The common question is:
@@ -170,10 +169,10 @@ But here's the problem: That 36 might not be a "high" score at all. Maybe your d
Now let's see how using decay functions looks in Qdrant.
-We'll provide HTTP request examples, but you can use decay functions [analogously in the Python, TypeScript, Rust, Java, C#, and Go clients](/documentation/concepts/search-relevance/#time-based-score-boosting).
+We'll provide HTTP request examples, but you can use decay functions [analogously in the Python, TypeScript, Rust, Java, C#, and Go clients](/documentation/search/search-relevance/#time-based-score-boosting).
**Note #6.**
-Payload variables used within the formula benefit from having [payload indexes](https://qdrant.tech/documentation/concepts/indexing/#payload-index). So, we require you to set up a payload index for any variable used in a formula.
+Payload variables used within the formula benefit from having [payload indexes](https://qdrant.tech/documentation/manage-data/indexing/#payload-index). So, we require you to set up a payload index for any variable used in a formula.
Let's take our "educational videos in the German language" example and see how it takes shape in Qdrant:
@@ -248,7 +247,7 @@ We truly hope this write-up helped untangle things a bit. Now the only thing lef
Use the snippets in the article as a starting point and experiment with the relevance score boosting in [Qdrant Cloud](https://qdrant.tech/). We offer a free-forever 1GB cluster: enough to test, tweak, and see how the decay functions behave on your data.
-And if you feel like diving deeper into decay functions or score boosting in general, check out our [documentation](/documentation/concepts/search-relevance/#score-boosting), which includes a decay-on-distance example and plenty more to learn from.
+And if you feel like diving deeper into decay functions or score boosting in general, check out our [documentation](/documentation/search/search-relevance/#score-boosting), which includes a decay-on-distance example and plenty more to learn from.
### Tell Us What You're Building
diff --git a/qdrant-landing/content/blog/facial-recognition.md b/qdrant-landing/content/blog/facial-recognition.md
index 343a4fdd1..356db7975 100644
--- a/qdrant-landing/content/blog/facial-recognition.md
+++ b/qdrant-landing/content/blog/facial-recognition.md
@@ -44,7 +44,7 @@ ___
## Architecture
-**Search Engine & DB:** [**Qdrant**](https://qdrant.tech) stands out as a high-performance [**vector database**](/qdrant-vector-database/) built in Rust, known for its reliability and speed. Its advanced features, such as [**vector visualization**](/documentation/web-ui/) and efficient [**querying**](/documentation/concepts/search/), make it a go-to choice for developers working on embedding-based projects.
+**Search Engine & DB:** [**Qdrant**](https://qdrant.tech) stands out as a high-performance [**vector database**](/qdrant-vector-database/) built in Rust, known for its reliability and speed. Its advanced features, such as [**vector visualization**](/documentation/web-ui/) and efficient [**querying**](/documentation/search/search/), make it a go-to choice for developers working on embedding-based projects.

@@ -121,7 +121,7 @@ If your data is properly embedded, then the visualization tool will appropriatel
## Lessons and Takeaways
-Scalability poses challenges when working with large datasets, such as 20,000+ images. Consider optimizations like [**quantization**](/documentation/guides/quantization/) to reduce memory usage or precomputing average embeddings for clusters can significantly minimize storage and computational costs. These strategies ensure the system remains performant as the dataset grows.
+Scalability poses challenges when working with large datasets, such as 20,000+ images. Consider optimizations like [**quantization**](/documentation/manage-data/quantization/) to reduce memory usage or precomputing average embeddings for clusters can significantly minimize storage and computational costs. These strategies ensure the system remains performant as the dataset grows.
The potential real-world applications of this technology extend far beyond entertainment. Similar systems can be used in security applications for embedding-based facial recognition to secure access to buildings or devices.
diff --git a/qdrant-landing/content/blog/hybrid-cloud-airbyte.md b/qdrant-landing/content/blog/hybrid-cloud-airbyte.md
index 82a249b67..b99887c78 100644
--- a/qdrant-landing/content/blog/hybrid-cloud-airbyte.md
+++ b/qdrant-landing/content/blog/hybrid-cloud-airbyte.md
@@ -43,7 +43,7 @@ We put together an end-to-end tutorial to show you how to build a GenAI applicat
Learn how to set up a private AI service that addresses customer support issues with high accuracy and effectiveness. By leveraging Airbyte’s data pipelines with Qdrant Hybrid Cloud, you will create a customer support system that is always synchronized with up-to-date knowledge.
-[Try the Tutorial](/documentation/tutorials/rag-customer-support-cohere-airbyte-aws/)
+[Try the Tutorial](/documentation/examples/rag-customer-support-cohere-airbyte-aws/)
#### Documentation: Deploy Qdrant in a Few Clicks
diff --git a/qdrant-landing/content/blog/hybrid-cloud-cohere.md b/qdrant-landing/content/blog/hybrid-cloud-cohere.md
index 8d825d38e..241390188 100644
--- a/qdrant-landing/content/blog/hybrid-cloud-cohere.md
+++ b/qdrant-landing/content/blog/hybrid-cloud-cohere.md
@@ -39,7 +39,7 @@ We put together an end-to-end tutorial to show you how to build a GenAI applicat
Learn how to set up a private AI service that addresses customer support issues with high accuracy and effectiveness. By leveraging Cohere’s models with Qdrant Hybrid Cloud, you will create a fully private customer support system.
-[Try the Tutorial](/documentation/tutorials/rag-customer-support-cohere-airbyte-aws/)
+[Try the Tutorial](/documentation/examples/rag-customer-support-cohere-airbyte-aws/)
#### Documentation: Deploy Qdrant in a Few Clicks
diff --git a/qdrant-landing/content/blog/hybrid-cloud-digitalocean.md b/qdrant-landing/content/blog/hybrid-cloud-digitalocean.md
index a607c2079..90a329b4b 100644
--- a/qdrant-landing/content/blog/hybrid-cloud-digitalocean.md
+++ b/qdrant-landing/content/blog/hybrid-cloud-digitalocean.md
@@ -47,7 +47,7 @@ To get Qdrant Hybrid Cloud setup on DigitalOcean, just follow these steps:
We created a tutorial that guides you through setting up and leveraging Qdrant Hybrid Cloud on DigitalOcean for a RAG application. It highlights practical steps to integrate vector search with Jina AI's LLMs, optimizing the generation of high-quality, relevant AI content, while ensuring data sovereignty is maintained throughout. This specific system is tied together via the LlamaIndex framework.
-[Try the Tutorial](/documentation/tutorials/hybrid-search-llamaindex-jinaai/)
+[Try the Tutorial](/documentation/examples/hybrid-search-llamaindex-jinaai/)
For a comprehensive guide, our documentation provides detailed instructions on setting up Qdrant on DigitalOcean.
diff --git a/qdrant-landing/content/blog/hybrid-cloud-haystack.md b/qdrant-landing/content/blog/hybrid-cloud-haystack.md
index 1a5797a39..d5ac2bdea 100644
--- a/qdrant-landing/content/blog/hybrid-cloud-haystack.md
+++ b/qdrant-landing/content/blog/hybrid-cloud-haystack.md
@@ -41,7 +41,7 @@ To get you started, we created a comprehensive tutorial that shows how to build
Learn how to develop a tutor chatbot from online course materials. You will create a Retrieval Augmented Generation (RAG) pipeline with Haystack for enhanced generative AI capabilities and Qdrant Hybrid Cloud for vector search. By deploying every tool on RedHat OpenShift, you will ensure complete privacy and data sovereignty, whereby no course content leaves your cloud.
-[Try the Tutorial](/documentation/tutorials/rag-chatbot-red-hat-openshift-haystack/)
+[Try the Tutorial](/documentation/examples/rag-chatbot-red-hat-openshift-haystack/)
#### Documentation: Deploy Qdrant in a Few Clicks
diff --git a/qdrant-landing/content/blog/hybrid-cloud-jinaai.md b/qdrant-landing/content/blog/hybrid-cloud-jinaai.md
index 54a5fe71a..4c3ca5e60 100644
--- a/qdrant-landing/content/blog/hybrid-cloud-jinaai.md
+++ b/qdrant-landing/content/blog/hybrid-cloud-jinaai.md
@@ -41,7 +41,7 @@ To get you started, we created a comprehensive tutorial that shows how to build
Learn how to build an app that retrieves information from PDF user manuals to enhance user experience for companies that sell household appliances. The system will leverage Jina AI embeddings and Qdrant Hybrid Cloud for enhanced generative AI capabilities, while the RAG pipeline will be tied together using the LlamaIndex framework. This example demonstrates how complex tables in PDF documentation can be processed as high quality embeddings with no extra configuration. By introducing Hybrid Search from Qdrant, the RAG functionality is highly accurate.
-[Try the Tutorial](/documentation/tutorials/hybrid-search-llamaindex-jinaai/)
+[Try the Tutorial](/documentation/examples/hybrid-search-llamaindex-jinaai/)
#### Documentation: Deploy Qdrant in a Few Clicks
diff --git a/qdrant-landing/content/blog/hybrid-cloud-langchain.md b/qdrant-landing/content/blog/hybrid-cloud-langchain.md
index 6a550e1b3..da587d8d4 100644
--- a/qdrant-landing/content/blog/hybrid-cloud-langchain.md
+++ b/qdrant-landing/content/blog/hybrid-cloud-langchain.md
@@ -41,7 +41,7 @@ To get you started, we’ve put together a tutorial that shows how to create nex
We created a comprehensive tutorial to show how you can build a RAG-based system with Qdrant Hybrid Cloud, LangChain and Cohere’s embeddings. This use case is focused on building a question-answering system for internal corporate employee onboarding.
-[Try the Tutorial](/documentation/tutorials/natural-language-search-oracle-cloud-infrastructure-cohere-langchain/)
+[Try the Tutorial](/documentation/examples/natural-language-search-oracle-cloud-infrastructure-cohere-langchain/)
#### Documentation: Deploy Qdrant in a Few Clicks
diff --git a/qdrant-landing/content/blog/hybrid-cloud-launch-partners.md b/qdrant-landing/content/blog/hybrid-cloud-launch-partners.md
index 5a862e767..6c9b9fd8e 100644
--- a/qdrant-landing/content/blog/hybrid-cloud-launch-partners.md
+++ b/qdrant-landing/content/blog/hybrid-cloud-launch-partners.md
@@ -34,49 +34,49 @@ Together with our launch partners, we created in-depth tutorials and use cases f
> This tutorial shows how to build a private AI customer support system using Cohere's AI models on AWS, Airbyte, and Qdrant Hybrid Cloud for efficient and secure query automation.
-[View Tutorial](/documentation/tutorials/rag-customer-support-cohere-airbyte-aws/)
+[View Tutorial](/documentation/examples/rag-customer-support-cohere-airbyte-aws/)
**RAG System for Employee Onboarding** with Qdrant Hybrid Cloud, Oracle Cloud Infrastructure (OCI), Cohere, and LangChain
> This tutorial demonstrates how to use Oracle Cloud Infrastructure (OCI) for a secure setup that integrates Cohere's language models with Qdrant Hybrid Cloud, using LangChain to orchestrate natural language search for corporate documents, enhancing resource discovery and onboarding.
-[View Tutorial](/documentation/tutorials/natural-language-search-oracle-cloud-infrastructure-cohere-langchain/)
+[View Tutorial](/documentation/examples/natural-language-search-oracle-cloud-infrastructure-cohere-langchain/)
**Hybrid Search for Product PDF Manuals** with Qdrant Hybrid Cloud, LlamaIndex, and JinaAI
> Create a RAG-based chatbot that enhances customer support by parsing product PDF manuals using Qdrant Hybrid Cloud, LlamaIndex, and JinaAI, with DigitalOcean as the cloud host. This tutorial will guide you through the setup and integration process, enabling your system to deliver precise, context-aware responses for household appliance inquiries.
-[View Tutorial](/documentation/tutorials/hybrid-search-llamaindex-jinaai/)
+[View Tutorial](/documentation/examples/hybrid-search-llamaindex-jinaai/)
**Region-Specific RAG System for Contract Management** with Qdrant Hybrid Cloud, Aleph Alpha, and STACKIT
> Learn how to streamline contract management with a RAG-based system in this tutorial, which utilizes Aleph Alpha’s embeddings and a region-specific cloud setup. Hosted on STACKIT with Qdrant Hybrid Cloud, this solution ensures secure, GDPR-compliant storage and processing of data, ideal for businesses with intensive contractual needs.
-[View Tutorial](/documentation/tutorials/rag-contract-management-stackit-aleph-alpha/)
+[View Tutorial](/documentation/examples/rag-contract-management-stackit-aleph-alpha/)
**Movie Recommendation System** with Qdrant Hybrid Cloud and OVHcloud
> Discover how to build a recommendation system with our guide on collaborative filtering, using sparse vectors and the Movielens dataset.
-[View Tutorial](/documentation/tutorials/recommendation-system-ovhcloud/)
+[View Tutorial](/documentation/examples/recommendation-system-ovhcloud/)
**Private RAG Information Extraction Engine** with Qdrant Hybrid Cloud and Vultr using DSPy and Ollama
> This tutorial teaches you how to handle and structure private documents with large unstructured data. Learn to use DSPy for information extraction, run your LLM with Ollama on Vultr, and manage data with Qdrant Hybrid Cloud on Vultr, perfect for regulated environments needing data privacy.
-[View Tutorial](/documentation/tutorials/rag-chatbot-vultr-dspy-ollama/)
+[View Tutorial](/documentation/examples/rag-chatbot-vultr-dspy-ollama/)
**RAG System That Chats with Blog Contents** with Qdrant Hybrid Cloud and Scaleway using LangChain.
> Build a RAG system that combines blog scanning with the capabilities of semantic search. RAG enhances the generation of answers by retrieving relevant documents to aid the question-answering process. This setup showcases the integration of advanced search and AI language processing to improve information retrieval and generation tasks.
-[View Tutorial](/documentation/tutorials/rag-chatbot-scaleway/)
+[View Tutorial](/documentation/examples/rag-chatbot-scaleway/)
**Private Chatbot for Interactive Learning** with Qdrant Hybrid Cloud and Red Hat OpenShift using Haystack.
> In this tutorial, you will build a chatbot without public internet access. The goal is to keep sensitive data secure and isolated. Your RAG system will be built with Qdrant Hybrid Cloud on Red Hat OpenShift, leveraging Haystack for enhanced generative AI capabilities. This tutorial especially explores how this setup ensures that not a single data point leaves the environment.
-[View Tutorial](/documentation/tutorials/rag-chatbot-red-hat-openshift-haystack/)
+[View Tutorial](/documentation/examples/rag-chatbot-red-hat-openshift-haystack/)
#### Supporting Documentation
diff --git a/qdrant-landing/content/blog/hybrid-cloud-llamaindex.md b/qdrant-landing/content/blog/hybrid-cloud-llamaindex.md
index 757b4aa49..d1735fc5b 100644
--- a/qdrant-landing/content/blog/hybrid-cloud-llamaindex.md
+++ b/qdrant-landing/content/blog/hybrid-cloud-llamaindex.md
@@ -41,7 +41,7 @@ To get you started, we created a comprehensive tutorial that shows how to build
Use this end-to-end tutorial to create a system that retrieves information from complex user manuals in PDF format to enhance user experience for companies that sell household appliances. You will build a RAG pipeline with LlamaIndex leveraging Qdrant Hybrid Cloud for enhanced generative AI capabilities. The LlamaIndex integration shows how complex tables inside of items’ PDF documents can be processed via hybrid vector search with no additional configuration.
-[Try the Tutorial](/documentation/tutorials/hybrid-search-llamaindex-jinaai/)
+[Try the Tutorial](/documentation/examples/hybrid-search-llamaindex-jinaai/)
#### Documentation: Deploy Qdrant in a Few Clicks
diff --git a/qdrant-landing/content/blog/hybrid-cloud-oracle-cloud-infrastructure.md b/qdrant-landing/content/blog/hybrid-cloud-oracle-cloud-infrastructure.md
index 67760e651..d9eecc4d1 100644
--- a/qdrant-landing/content/blog/hybrid-cloud-oracle-cloud-infrastructure.md
+++ b/qdrant-landing/content/blog/hybrid-cloud-oracle-cloud-infrastructure.md
@@ -37,7 +37,7 @@ Deploying Qdrant Hybrid Cloud on OCI facilitates vector search in production env
We created a comprehensive tutorial to show how to leverage the benefits of Qdrant Hybrid Cloud on OCI and build AI applications with a focus on data sovereignty. This use case is focused on building a RAG system for FAQ, leveraging the strengths of Qdrant Hybrid Cloud for vector search, Oracle Cloud Infrastructure (OCI) as a managed Kubernetes provider, Cohere models for embedding, and LangChain as a framework.
-[Try the Tutorial](/documentation/tutorials/natural-language-search-oracle-cloud-infrastructure-cohere-langchain/)
+[Try the Tutorial](/documentation/examples/natural-language-search-oracle-cloud-infrastructure-cohere-langchain/)
Deploying Qdrant Hybrid Cloud on Oracle Cloud Infrastructure only takes a few minutes due to the seamless Kubernetes-native integration. You can get started by following these three steps:
diff --git a/qdrant-landing/content/blog/hybrid-cloud-ovhcloud.md b/qdrant-landing/content/blog/hybrid-cloud-ovhcloud.md
index 458c08af0..dfc357a9f 100644
--- a/qdrant-landing/content/blog/hybrid-cloud-ovhcloud.md
+++ b/qdrant-landing/content/blog/hybrid-cloud-ovhcloud.md
@@ -37,7 +37,7 @@ Through the seamless integration between Qdrant Hybrid Cloud and OVHcloud, devel
To show how Qdrant Hybrid Cloud deployed on OVHcloud allows developers to leverage the benefits of an AI use case that is completely run within the existing infrastructure, we put together a comprehensive use case tutorial. This tutorial guides you through creating a recommendation system using collaborative filtering and sparse vectors with Qdrant Hybrid Cloud on OVHcloud. It employs the Movielens dataset for practical application, providing insights into building efficient, scalable recommendation engines suitable for developers and data scientists looking to leverage advanced vector search technologies within a secure, GDPR-compliant European cloud infrastructure.
-[Try the Tutorial](/documentation/tutorials/recommendation-system-ovhcloud/)
+[Try the Tutorial](/documentation/examples/recommendation-system-ovhcloud/)
#### Get Started Today and Leverage the Benefits of Qdrant Hybrid Cloud
diff --git a/qdrant-landing/content/blog/hybrid-cloud-red-hat-openshift.md b/qdrant-landing/content/blog/hybrid-cloud-red-hat-openshift.md
index 4b72b0d24..a75942da9 100644
--- a/qdrant-landing/content/blog/hybrid-cloud-red-hat-openshift.md
+++ b/qdrant-landing/content/blog/hybrid-cloud-red-hat-openshift.md
@@ -52,7 +52,7 @@ To get started, we created a comprehensive tutorial that shows how to build next
In this tutorial, you will build a chatbot without public internet access. The goal is to keep sensitive data secure and isolated. Your RAG system will be built with Qdrant Hybrid Cloud on Red Hat OpenShift, leveraging Haystack for enhanced generative AI capabilities. This tutorial especially explores how this setup ensures that not a single data point leaves the environment.
-[Try the Tutorial](/documentation/tutorials/rag-chatbot-red-hat-openshift-haystack/)
+[Try the Tutorial](/documentation/examples/rag-chatbot-red-hat-openshift-haystack/)
#### Documentation: Deploy Qdrant in a Few Clicks
diff --git a/qdrant-landing/content/blog/hybrid-cloud-scaleway.md b/qdrant-landing/content/blog/hybrid-cloud-scaleway.md
index bd9c8d56b..90c529fb1 100644
--- a/qdrant-landing/content/blog/hybrid-cloud-scaleway.md
+++ b/qdrant-landing/content/blog/hybrid-cloud-scaleway.md
@@ -29,7 +29,7 @@ RAG applications often rely on sensitive or proprietary internal data, emphasizi
We created a tutorial that guides you through setting up and leveraging Qdrant Hybrid Cloud on Scaleway for a RAG application, providing insights into efficiently managing data within a secure, sovereign framework. It highlights practical steps to integrate vector search with LLMs, optimizing the generation of high-quality, relevant AI content, while ensuring data sovereignty is maintained throughout.
-[Try the Tutorial](/documentation/tutorials/rag-chatbot-scaleway/)
+[Try the Tutorial](/documentation/examples/rag-chatbot-scaleway/)
#### The Benefits of Running Qdrant Hybrid Cloud on Scaleway
diff --git a/qdrant-landing/content/blog/hybrid-cloud-stackit.md b/qdrant-landing/content/blog/hybrid-cloud-stackit.md
index b2f45e117..0f9272001 100644
--- a/qdrant-landing/content/blog/hybrid-cloud-stackit.md
+++ b/qdrant-landing/content/blog/hybrid-cloud-stackit.md
@@ -33,7 +33,7 @@ Qdrant Hybrid Cloud is the first managed vector database that can be deployed in
To demonstrate the power of Qdrant Hybrid Cloud on STACKIT, we’ve developed a comprehensive tutorial showcasing how to build secure, AI-driven applications focusing on data sovereignty. This tutorial specifically shows how to build a contract management platform that enables users to upload documents (PDF or DOCx), which are then segmented for searchable access. Designed with multitenancy, users can only access their team or organization's documents. It also features custom sharding for location-specific document storage. Beyond search, the application offers rephrasing of document excerpts for clarity to those without context.
-[Try the Tutorial](/documentation/tutorials/rag-contract-management-stackit-aleph-alpha/)
+[Try the Tutorial](/documentation/examples/rag-contract-management-stackit-aleph-alpha/)
#### Start Using Qdrant with STACKIT
diff --git a/qdrant-landing/content/blog/hybrid-cloud-vultr.md b/qdrant-landing/content/blog/hybrid-cloud-vultr.md
index 8f67e69ea..a1058a904 100644
--- a/qdrant-landing/content/blog/hybrid-cloud-vultr.md
+++ b/qdrant-landing/content/blog/hybrid-cloud-vultr.md
@@ -45,7 +45,7 @@ We've compiled an in-depth guide for leveraging Qdrant Hybrid Cloud on Vultr to
This tutorial outlines creating a personalized AI assistant using Qdrant Hybrid Cloud on Vultr, incorporating advanced vector search to power dynamic, interactive experiences. We will develop a RAG pipeline powered by DSPy and detail how to maintain data privacy within your Vultr environment.
-[Try the Tutorial](/documentation/tutorials/rag-chatbot-vultr-dspy-ollama/)
+[Try the Tutorial](/documentation/examples/rag-chatbot-vultr-dspy-ollama/)
#### Documentation: Effortless Deployment with Qdrant
diff --git a/qdrant-landing/content/blog/legal-tech-builders-guide.md b/qdrant-landing/content/blog/legal-tech-builders-guide.md
index b7dec940f..cd253a6ea 100644
--- a/qdrant-landing/content/blog/legal-tech-builders-guide.md
+++ b/qdrant-landing/content/blog/legal-tech-builders-guide.md
@@ -85,7 +85,7 @@ Leveraging Late-Interaction Models for Rich Documents
Traditional OCR pipelines can add complexity and create accuracy challenges. But late-interaction models simplify the ingestion pipeline by running at the reranking stage.
-Models like ([ColPali](https://qdrant.tech/blog/qdrant-colpali/) and ColQwen) bypass traditional OCR pipelines, directly processing images of complex documents. They enhance accuracy by maintaining original layouts and contextual integrity, simplifying your retrieval pipelines. The tradeoff is a heavier application, but these challenges can be addressed with further [optimization](https://qdrant.tech/documentation/guides/optimize/)*.*
+Models like ([ColPali](https://qdrant.tech/blog/qdrant-colpali/) and ColQwen) bypass traditional OCR pipelines, directly processing images of complex documents. They enhance accuracy by maintaining original layouts and contextual integrity, simplifying your retrieval pipelines. The tradeoff is a heavier application, but these challenges can be addressed with further [optimization](https://qdrant.tech/documentation/operations/optimize/)*.*
#### Enabling highly granular accuracy for complex legal searches
@@ -125,7 +125,7 @@ final_results = reranked[:5]
Not every clause is created equal. Legal professionals often care more about specific provisions, jurisdictions, or case types, for example.
-Qdrant's [Score Boosting Reranker](/documentation/concepts/search-relevance/#score-boosting) lets you integrate domain-specific logic (e.g., jurisdiction or recent cases) directly into search rankings, ensuring results align precisely with legal business rules.
+Qdrant's [Score Boosting Reranker](/documentation/search/search-relevance/#score-boosting) lets you integrate domain-specific logic (e.g., jurisdiction or recent cases) directly into search rankings, ensuring results align precisely with legal business rules.
```json
POST /collections/legal-docs/points/query
@@ -163,13 +163,13 @@ Legal datasets are growing, and so are the compute bills. From GPU acceleration
* [GPU indexing](https://qdrant.tech/blog/qdrant-1.13.x/) accelerates indexing by up to 10x compared to CPU methods, offering vendor-agnostic compatibility with modern GPUs via Vulkan API.
-* [Vector quantization](https://qdrant.tech/documentation/guides/quantization/) compresses embeddings, significantly reducing memory and operational costs. It results in lower accuracy, so carefully consider this option. For example, [LawMe](http://qdrant.tech/blog/case-study-lawme), a Qdrant user, uses Binary Quantization to cost-effectively add more data for its AI Legal Assistants.
+* [Vector quantization](https://qdrant.tech/documentation/manage-data/quantization/) compresses embeddings, significantly reducing memory and operational costs. It results in lower accuracy, so carefully consider this option. For example, [LawMe](http://qdrant.tech/blog/case-study-lawme), a Qdrant user, uses Binary Quantization to cost-effectively add more data for its AI Legal Assistants.
### Getting Started: Choosing Your Search Infrastructure
#### Deploy in private, cloud, or hybrid environments without sacrificing control
-No matter your stage—prototype or production—your stack will have to meet both engineering and compliance needs. Qdrant supports flexible deployment strategies, including [managed cloud](https://qdrant.tech/cloud/) and [hybrid cloud](https://qdrant.tech/hybrid-cloud/), along with open-source solutions via [Docker](https://qdrant.tech/documentation/quick-start/), enabling easy scaling and secure management of legal data.
+No matter your stage—prototype or production—your stack will have to meet both engineering and compliance needs. Qdrant supports flexible deployment strategies, including [managed cloud](https://qdrant.tech/cloud/) and [hybrid cloud](https://qdrant.tech/hybrid-cloud/), along with open-source solutions via [Docker](https://qdrant.tech/documentation/quickstart/), enabling easy scaling and secure management of legal data.
#### Build and iterate quickly with responsive support and built-in tooling
diff --git a/qdrant-landing/content/blog/multi-vector-course-release.md b/qdrant-landing/content/blog/multi-vector-course-release.md
new file mode 100644
index 000000000..94ece7c56
--- /dev/null
+++ b/qdrant-landing/content/blog/multi-vector-course-release.md
@@ -0,0 +1,66 @@
+---
+title: "Master Multi-Vector Search With Qdrant"
+draft: false
+slug: multi-vector-search-course
+short_description: "Go beyond single-vector embeddings. Our new advanced course covers ColBERT, ColPali, MaxSim, and production-grade multi-vector pipelines in Qdrant."
+description: "Go beyond single-vector embeddings. Our new advanced course covers ColBERT, ColPali, MaxSim, and production-grade multi-vector pipelines in Qdrant."
+preview_image: /blog/multi-vector-course-release/hero.png
+social_preview_image: /blog/multi-vector-course-release/hero.png
+date: 2026-03-24
+author: Neil Kanungo
+featured: true
+tags:
+ - qdrant-course
+ - multi-vector-search
+ - colbert
+ - colpali
+ - certification
+---
+
+Most vector search tutorials stop at single-vector embeddings: one document, one vector, one similarity score. That works for demos. It falls apart when your retrieval pipeline needs to capture fine-grained token-level interactions across text, images, and PDFs at production scale.
+
+Until now, engineers who wanted to go deeper had to piece together scattered papers, blog posts, and half-documented repos. There was no structured, hands-on resource that connected the theory of late interaction models to real implementation in a production search engine.
+
+We built one.
+
+## Introducing the Multi-Vector Search Course
+
+[Qdrant's Multi-Vector Search Course](https://qdrant.tech/course/multi-vector-search/) is a free, advanced course created by [Kacper Łukawski](https://www.linkedin.com/in/kacperlukawski/). Kacper designed this course to fill a real gap in the developer community: practical, production-focused education on multi-vector retrieval that goes well beyond "here's how embeddings work."
+
+This is an advanced course! It's built for ML engineers, backend engineers, and search engineers who already understand vector search fundamentals and want to master what comes next.
+
+## What You'll Learn
+
+The course is organized into four modules, each taking roughly one to two hours:
+
+**Module 0: Setup.** Configure a Qdrant Cloud or local instance and install Python dependencies.
+
+**Module 1: Text Multi-Vectors.** Understand the late interaction paradigm, learn the MaxSim distance metric, explore real use cases and challenges, and implement ColBERT-based search with Qdrant.
+
+**Module 2: Multi-Modal Search.** Apply multi-vector representations to images and PDFs using ColPali. Explore model variants in the ColPali family and use visual interpretability for debugging retrieval results.
+
+**Module 3: Optimization and Evaluation.** Master vector quantization, pooling techniques, and MUVERA indexing for memory-efficient search at billion scale. Build multi-stage retrieval pipelines with Qdrant's Universal Query API and evaluate with industry-standard metrics (Recall@k, NDCG, MRR).
+
+The course wraps up with a final project: build your own production-ready multi-modal search system from scratch.
+
+## How It Works
+
+Every module combines video lessons from the Qdrant team with hands-on Google Colab notebooks. You watch, you build, you evaluate. The progressive structure means each module builds directly on the previous one, so you finish with a complete, working pipeline rather than a collection of disconnected concepts.
+
+## Earn a Qdrant Certification
+
+Complete the course and pass the certification exam to earn a shareable Qdrant Multi-Vector Search certificate. It's a concrete way to demonstrate that you can design, implement, and optimize multi-vector retrieval pipelines in production.
+
+Certifications are available through [Qdrant Academy](https://qdrant.tech/course/multi-vector-search/certification/).
+
+## Free Swag for the First 20 Certified
+
+Dive in now: the **first 20 people** who complete their Multi-Vector Search certification and post on LinkedIn with the hashtag **#QdrantCertified** will receive free Qdrant swag. Share your certificate, tag us, and we'll reach out.
+
+## Start Now
+
+The course is free, self-paced, and available today. If you've been looking for a structured path from "I understand embeddings" to "I can build and evaluate multi-vector retrieval at scale," this is it.
+
+[Start the Multi-Vector Search Course](https://qdrant.tech/course/multi-vector-search/)
+
+Questions? Join our [Discord community](https://discord.gg/qdrant) where Qdrant experts collaborate.
diff --git a/qdrant-landing/content/blog/pgvector-tradeoffs.md b/qdrant-landing/content/blog/pgvector-tradeoffs.md
index 38be7400a..87c343ba5 100644
--- a/qdrant-landing/content/blog/pgvector-tradeoffs.md
+++ b/qdrant-landing/content/blog/pgvector-tradeoffs.md
@@ -40,19 +40,19 @@ Here are the six conditions:
**1. Your vector dataset is under ~1M vectors.** The community's empirical ceiling is around 10M, but the comfortable range is much lower. Above 1M you'll start hitting index-build times, memory pressure, and recall degradation under load.
-This threshold is also easier to hit than you'd expect — especially if you're working with **multivectors**. Techniques like ColBERT-style late interaction generate one embedding *per token* rather than one per document, so a corpus of 100K documents can easily balloon into tens of millions of vectors overnight. Qdrant, by contrast, has [native multivector support](/documentation/concepts/vectors/#multivectors) with dedicated documentation and query APIs built around it.
+This threshold is also easier to hit than you'd expect — especially if you're working with **multivectors**. Techniques like ColBERT-style late interaction generate one embedding *per token* rather than one per document, so a corpus of 100K documents can easily balloon into tens of millions of vectors overnight. Qdrant, by contrast, has [native multivector support](/documentation/manage-data/vectors/#multivectors) with dedicated documentation and query APIs built around it.
**2. You don't need accurate metadata filtering.** If every search is against the full collection, post-filtering won't limit you. But the moment you need to scope searches to a user, tenant, category, or any selective predicate, pgvector generates unnecessary search overhead.
> *"I think the most relevant weakness for pgvector is the lack of 'proper' prefiltering on metadata while leveraging the vector index."*
-Qdrant takes an entirely different approach to filtering. Specifically, Qdrant utilizes a [filterable HNSW](/documentation/concepts/indexing/#filtrable-index) which lets you traverse the nearest-neighbor graph while maintaining metadata filters.
+Qdrant takes an entirely different approach to filtering. Specifically, Qdrant utilizes a [filterable HNSW](/documentation/manage-data/indexing/#filtrable-index) which lets you traverse the nearest-neighbor graph while maintaining metadata filters.
**3. Your embeddings are tightly coupled to relational data.** If vectors are just an attribute of a row (e.g., a product description embedding alongside the product), colocation helps. If vectors are first-class entities, the argument for co-location weakens.
**4. You don't need hybrid search.** While pgvector supports dense vector similarity search via HNSW, the Postgres extension ecosystem still lacks a high-quality BM25 implementation — a critical component for hybrid search.
-Postgres *does* have full-text search via `tsvector`/`tsquery`, and it's excellent for what it does. But that's lexical search — exact term matches, stemming, and stop words. BM25 is a probabilistic model that considers term frequency, inverse document frequency, and document length. Qdrant supports [native BM25 via sparse vectors](/documentation/concepts/vectors/#sparse-vectors). They're not the same thing.
+Postgres *does* have full-text search via `tsvector`/`tsquery`, and it's excellent for what it does. But that's lexical search — exact term matches, stemming, and stop words. BM25 is a probabilistic model that considers term frequency, inverse document frequency, and document length. Qdrant supports [native BM25 via sparse vectors](/documentation/manage-data/vectors/#sparse-vectors). They're not the same thing.
**5. Postgres is already doing the heavy lifting for your business logic.** You have existing transactions, schemas, and ACID guarantees that matter. Adding a second data store splits that concern. If Postgres is truly central, the operational argument for colocation is real.
@@ -75,7 +75,7 @@ That's three conditions gone before you've even thought about scale. People are
When the conditions above don't all hold, dedicated vector stores offer concrete advantages:
- **Efficient metadata filtering** — pre-filter on metadata fields before computing similarity, avoiding wasted work on irrelevant vectors
-- **Native hybrid search** — combine dense similarity and BM25 keyword matching in a single query with [reciprocal rank fusion](/documentation/concepts/hybrid-queries/)
+- **Native hybrid search** — combine dense similarity and BM25 keyword matching in a single query with [reciprocal rank fusion](/documentation/search/hybrid-queries/)
- **Scale beyond 10M vectors** — purpose-built sharding, distributed indexing, and memory management
- **Decoupled architecture** — scale, optimize, and evolve your search layer independently of your relational database
diff --git a/qdrant-landing/content/blog/product-ui-changes.md b/qdrant-landing/content/blog/product-ui-changes.md
index 1c6ebee4e..a4c5d999a 100644
--- a/qdrant-landing/content/blog/product-ui-changes.md
+++ b/qdrant-landing/content/blog/product-ui-changes.md
@@ -59,7 +59,7 @@ When looking at the overview of your cluster, we’ve added new tabs with an imp
* **Logs**: get a real-time window into what’s happening inside cluste for transparency, diagnostics, and control (especially important during debugging, performance tuning, or infrastructure troubleshooting\!)
* **Backups:** View snapshots of your vector data and metadata that can be used to restore your collections in case of data loss, migration, or rollbacks (not available on free clusters)
* **Configuration**: Check your collection defaults and add advanced optimizations (after reading Docs of course)
- * For example, we advise against setting up a ton of different collections. Instead segment with [payloads](https://qdrant.tech/documentation/concepts/payload/).
+ * For example, we advise against setting up a ton of different collections. Instead segment with [payloads](https://qdrant.tech/documentation/manage-data/payload/).
When viewing the details of your clusters, you can now view the Cluster UI Dashboard regardless of where you are, and also have easier access to tutorials and resources.
@@ -74,7 +74,7 @@ Next we’ve done a major overhaul to the “Get Started” page. Our goal is to

**Explore Your Data or Start with Samples**
-You’ll see immediately pertinent information to help you get the most out of Qdrant quickly, including the [Cloud Quickstart guide](https://qdrant.tech/documentation/quickstart-cloud/), and resources to help you get your data into Qdrant, or use sample data.
+You’ll see immediately pertinent information to help you get the most out of Qdrant quickly, including the [Cloud Quickstart guide](https://qdrant.tech/documentation/cloud-quickstart/), and resources to help you get your data into Qdrant, or use sample data.
Learn about the different ways to connect to your cluster, use the Qdrant API, try out sample data, and our personal favorite, use the Qdrant Cluster UI to view your collection data and access tutorials.
diff --git a/qdrant-landing/content/blog/qdrant-1.10.x.md b/qdrant-landing/content/blog/qdrant-1.10.x.md
index 76d45a73c..0fd9e7e4c 100644
--- a/qdrant-landing/content/blog/qdrant-1.10.x.md
+++ b/qdrant-landing/content/blog/qdrant-1.10.x.md
@@ -31,14 +31,14 @@ You can now configure the Query API request with the following parameters:
|Parameter|Description|
|-|-|
|no parameter|Returns points by `id`|
-|`nearest`|Queries nearest neighbors ([Search](/documentation/concepts/search/))|
-|`fusion`|Fuses sparse/dense prefetch queries ([Hybrid Search](/documentation/concepts/hybrid-queries/#hybrid-search))|
-|`discover`|Queries `target` with added `context` ([Discovery](/documentation/concepts/explore/#discovery-api))|
-|`context` |No target with `context` only ([Context](/documentation/concepts/explore/#context-search))|
-|`recommend`|Queries against `positive`/`negative` examples. ([Recommendation](/documentation/concepts/explore/#recommendation-api))|
-|`order_by`|Orders results by [payload field](/documentation/concepts/hybrid-queries/#re-ranking-with-payload-values)|
+|`nearest`|Queries nearest neighbors ([Search](/documentation/search/search/))|
+|`fusion`|Fuses sparse/dense prefetch queries ([Hybrid Search](/documentation/search/hybrid-queries/#hybrid-search))|
+|`discover`|Queries `target` with added `context` ([Discovery](/documentation/search/explore/#discovery-api))|
+|`context` |No target with `context` only ([Context](/documentation/search/explore/#context-search))|
+|`recommend`|Queries against `positive`/`negative` examples. ([Recommendation](/documentation/search/explore/#recommendation-api))|
+|`order_by`|Orders results by [payload field](/documentation/search/hybrid-queries/#re-ranking-with-payload-values)|
-For example, you can configure Query API to run [Discovery search](/documentation/concepts/explore/#discovery-api). Let's see how that looks:
+For example, you can configure Query API to run [Discovery search](/documentation/search/explore/#discovery-api). Let's see how that looks:
```http
POST collections/{collection_name}/points/query
@@ -57,7 +57,7 @@ POST collections/{collection_name}/points/query
}
```
-We will be publishing code samples in [docs](/documentation/concepts/hybrid-queries/) and our new [API specification](http://api.qdrant.tech). *If you need additional support with this new method, our [Discord](https://qdrant.to/discord) on-call engineers can help you.*
+We will be publishing code samples in [docs](/documentation/search/hybrid-queries/) and our new [API specification](http://api.qdrant.tech). *If you need additional support with this new method, our [Discord](https://qdrant.to/discord) on-call engineers can help you.*
### Native Hybrid Search Support
@@ -221,7 +221,7 @@ await client.QueryAsync(
Query API can now pre-fetch vectors for requests, which means you can run queries sequentially within the same API call. There are a lot of options here, so you will need to define a strategy to merge these requests using new parameters. For example, you can now include **rescoring within Hybrid Search**, which can open the door to strategies like iterative refinement via matryoshka embeddings.
-*To learn more about this, read the [Query API documentation](/documentation/concepts/search/#query-api).*
+*To learn more about this, read the [Query API documentation](/documentation/search/search/#query-api).*
## Inverse Document Frequency [IDF]
@@ -535,11 +535,11 @@ await client.QueryAsync(
```
**Note:** *The multivector feature is not only useful for ColBERT; it can also be used in other ways.*
-For instance, in e-commerce, you can use multi-vector to store multiple images of the same item. This serves as an alternative to the [group-by](/documentation/concepts/search/#grouping-api) method.
+For instance, in e-commerce, you can use multi-vector to store multiple images of the same item. This serves as an alternative to the [group-by](/documentation/search/search/#grouping-api) method.
## Sparse Vectors Compression
-In version 1.9, we introduced the `uint8` [vector datatype](/documentation/concepts/vectors/#datatypes) for sparse vectors, in order to support pre-quantized embeddings from companies like JinaAI and Cohere.
+In version 1.9, we introduced the `uint8` [vector datatype](/documentation/manage-data/vectors/#datatypes) for sparse vectors, in order to support pre-quantized embeddings from companies like JinaAI and Cohere.
This time, we are introducing a new datatype **for both sparse and dense vectors**, as well as a different way of **storing** these vectors.
**Datatype:** Sparse and dense vectors were previously represented in larger `float32` values, but now they can be turned to the `float16`. `float16` vectors have a lower precision compared to `float32`, which means that there is less numerical accuracy in the vector values - but this is negligible for practical use cases.
@@ -669,7 +669,7 @@ documentation, making it easier to navigate and find the information you need.
## S3 Snapshot Storage
-Qdrant **Collections**, **Shards** and **Storage** can be backed up with [Snapshots](/documentation/concepts/snapshots/) and saved in case of data loss or other data transfer purposes. These snapshots can be quite large and the resources required to maintain them can result in higher costs. AWS S3 and other S3-compatible implementations like [min.io](https://min.io/) is a great low-cost alternative that can hold snapshots without incurring high costs. It is globally reliable, scalable and resistant to data loss.
+Qdrant **Collections**, **Shards** and **Storage** can be backed up with [Snapshots](/documentation/operations/snapshots/) and saved in case of data loss or other data transfer purposes. These snapshots can be quite large and the resources required to maintain them can result in higher costs. AWS S3 and other S3-compatible implementations like [min.io](https://min.io/) is a great low-cost alternative that can hold snapshots without incurring high costs. It is globally reliable, scalable and resistant to data loss.
You can configure S3 storage settings in the [config.yaml](https://github.com/qdrant/qdrant/blob/master/config/config.yaml), specifically with `snapshots_storage`.
@@ -697,7 +697,7 @@ storage:
secret_key: your_secret_key_here
```
-*Read more about [S3 snapshot storage](/documentation/concepts/snapshots/#s3) and [configuration](/documentation/guides/configuration/).*
+*Read more about [S3 snapshot storage](/documentation/operations/snapshots/#s3) and [configuration](/documentation/operations/configuration/).*
This integration allows for a more convenient distribution of snapshots. Users of **any S3-compatible object storage** can now benefit from other platform services, such as automated workflows and disaster recovery options. S3's encryption and access control ensure secure storage and regulatory compliance. Additionally, S3 supports performance optimization through various storage classes and efficient data transfer methods, enabling quick and effective snapshot retrieval and management.
diff --git a/qdrant-landing/content/blog/qdrant-1.11.x.md b/qdrant-landing/content/blog/qdrant-1.11.x.md
index 1a6dedfa5..7c0ed02ad 100644
--- a/qdrant-landing/content/blog/qdrant-1.11.x.md
+++ b/qdrant-landing/content/blog/qdrant-1.11.x.md
@@ -36,7 +36,7 @@ New Web UI Tools:
Before we dive into the specifics of our optimizations, let's first go over Multitenancy. This is one of our most significant features, [best used for scaling and data isolation](https://qdrant.tech/articles/multitenancy/).
-If you’re using Qdrant to manage data for multiple users, regions, or workspaces (tenants), we suggest setting up a [multitenant environment](/documentation/guides/multiple-partitions/). This approach keeps all tenant data in a single global collection, with points separated and isolated by their payload.
+If you’re using Qdrant to manage data for multiple users, regions, or workspaces (tenants), we suggest setting up a [multitenant environment](/documentation/manage-data/multitenancy/). This approach keeps all tenant data in a single global collection, with points separated and isolated by their payload.
To avoid slow and unnecessary indexing, it’s better to create an index for each relevant payload rather than indexing the entire collection globally. Since some data is indexed more frequently, you can focus on building indexes for specific regions, workspaces, or users.
@@ -156,7 +156,7 @@ await client.CreatePayloadIndexAsync(
As a result, the storage structure will be organized in a way to co-locate vectors of the same tenant together at the next optimization.
-*To learn more about defragmentation, read the [Multitenancy documentation](/documentation/guides/multiple-partitions/).*
+*To learn more about defragmentation, read the [Multitenancy documentation](/documentation/manage-data/multitenancy/).*
### On-Disk Support for the Payload Index
@@ -281,7 +281,7 @@ await client.CreatePayloadIndexAsync(
By moving the index to disk, Qdrant can handle larger datasets that exceed the capacity of RAM, making the system more scalable and capable of storing more data without being constrained by memory limitations.
-*To learn more about this, read the [Indexing documentation](/documentation/concepts/indexing/).*
+*To learn more about this, read the [Indexing documentation](/documentation/manage-data/indexing/).*
### UUID Datatype for the Payload Index
@@ -311,7 +311,7 @@ PUT /collections/{collection_name}/points
> For organizations that have numerous users and UUIDs, this simple fix can significantly reduce the cluster size and improve efficiency.
-*To learn more about this, read the [Payload documentation](/documentation/concepts/payload/).*
+*To learn more about this, read the [Payload documentation](/documentation/manage-data/payload/).*
### Query API: Groups Endpoint
@@ -411,7 +411,7 @@ await client.QueryGroupsAsync(
This endpoint will retrieve the best N points for each document, assuming that the payload of the points contains the document ID. Sometimes, the best N points cannot be fulfilled due to lack of points or a big distance with respect to the query. In every case, the `group_size` is a best-effort parameter, similar to the limit parameter.
-*For more information on grouping capabilities refer to our [Hybrid Queries documentation](/documentation/concepts/hybrid-queries/).*
+*For more information on grouping capabilities refer to our [Hybrid Queries documentation](/documentation/search/hybrid-queries/).*
### Query API: Random Sampling
@@ -490,7 +490,7 @@ await client.QueryAsync(
);
```
-*To learn more, check out the [Query API documentation](/documentation/concepts/hybrid-queries/).*
+*To learn more, check out the [Query API documentation](/documentation/search/hybrid-queries/).*
### Query API: Distribution-Based Score Fusion
@@ -658,7 +658,7 @@ await client.QueryAsync(
Note that `dbsf` is stateless and calculates the normalization limits only based on the results of each query, not on all the scores that it has seen.
-*To learn more, check out the [Hybrid Queries documentation](/documentation/concepts/hybrid-queries/).*
+*To learn more, check out the [Hybrid Queries documentation](/documentation/search/hybrid-queries/).*
## Web UI: Search Quality Tool
diff --git a/qdrant-landing/content/blog/qdrant-1.12.x.md b/qdrant-landing/content/blog/qdrant-1.12.x.md
index e6d7ac0a8..ccd3e5448 100644
--- a/qdrant-landing/content/blog/qdrant-1.12.x.md
+++ b/qdrant-landing/content/blog/qdrant-1.12.x.md
@@ -113,7 +113,7 @@ Two arrays, `offsets_row` and `offsets_col`, represent the positions of non-zero
}
}
```
-*To learn more about the distance matrix, read [**The Distance Matrix documentation**](/documentation/concepts/explore/#distance-matrix).*
+*To learn more about the distance matrix, read [**The Distance Matrix documentation**](/documentation/search/explore/#distance-matrix).*
## Distance Matrix API in the Graph UI
@@ -134,7 +134,7 @@ The new graphing method is cleaner and reveals **relationships and outliers:**

-*To learn more about the Web UI Dashboard, read the [**Interfaces documentation**](/documentation/interfaces/web-ui/).*
+*To learn more about the Web UI Dashboard, read the [**Interfaces documentation**](/documentation/web-ui/).*
## Facet API for Metadata Cardinality
@@ -142,7 +142,7 @@ The new graphing method is cleaner and reveals **relationships and outliers:**
In modern applications like e-commerce, users often rely on [**filters**](/articles/vector-search-filtering/), such as **brand** or **color**, to refine search results. The **Facet API** is designed to help users understand the distribution of values in a dataset.
-The `facet` endpoint can efficiently count and aggregate values for a specific [**payload field**](/documentation/concepts/payload/) in your dataset.
+The `facet` endpoint can efficiently count and aggregate values for a specific [**payload field**](/documentation/manage-data/payload/) in your dataset.
You can use it to retrieve unique values for a field, along with the number of points that contain each value. This functionality is similar to `GROUP BY` with `COUNT(*)` in SQL databases.
@@ -195,12 +195,12 @@ POST /collections/{collection_name}/facet
```
This feature provides flexibility between performance and precision, depending on the needs of your application.
-*To learn more about faceting, read the [**Facet API documentation**](/documentation/concepts/payload/#facet-counts).*
+*To learn more about faceting, read the [**Facet API documentation**](/documentation/manage-data/payload/#facet-counts).*
## Text Index on Disk Support

-[**Qdrant text indexing**](/documentation/concepts/indexing/#full-text-index) tokenizes text into smaller units (tokens) based on chosen settings (e.g., tokenizer type, token length). These tokens are stored in an inverted index for fast text searches.
+[**Qdrant text indexing**](/documentation/manage-data/indexing/#full-text-index) tokenizes text into smaller units (tokens) based on chosen settings (e.g., tokenizer type, token length). These tokens are stored in an inverted index for fast text searches.
> With `on_disk` text indexing, the inverted index is stored on disk, reducing memory usage.
@@ -222,11 +222,11 @@ PUT /collections/{collection_name}/index
}
```
-*To learn more about indexes, read the [**Indexing documentation**](/documentation/concepts/indexing/).*
+*To learn more about indexes, read the [**Indexing documentation**](/documentation/manage-data/indexing/).*
## Geo Index on Disk Support
-For [**large-scale geographic datasets**](/documentation/concepts/payload/#geo) where storing all indexes in memory is impractical, **geo indexing** allows efficient filtering of points based on geographic coordinates.
+For [**large-scale geographic datasets**](/documentation/manage-data/payload/#geo) where storing all indexes in memory is impractical, **geo indexing** allows efficient filtering of points based on geographic coordinates.
With `on_disk` geo indexing, the index is written to disk instead of residing in memory, making it possible to handle large datasets without exhausting system memory.
@@ -255,11 +255,11 @@ PUT /collections/{collection_name}/index

-> To learn how to get the best performance from Qdrant, read the [**Optimization Guide**](/documentation/guides/optimize/).
+> To learn how to get the best performance from Qdrant, read the [**Optimization Guide**](/documentation/operations/optimize/).
## Just the Beginning
-The easiest way to reach that **Hello World** moment is to [**try vector search in a live cluster**](/documentation/quickstart-cloud/). Our **interactive tutorial** will show you how to create a cluster, add data and try some filtering clauses.
+The easiest way to reach that **Hello World** moment is to [**try vector search in a live cluster**](/documentation/cloud-quickstart/). Our **interactive tutorial** will show you how to create a cluster, add data and try some filtering clauses.
**All of the new features from version 1.12 can be tested in the Web UI:**
diff --git a/qdrant-landing/content/blog/qdrant-1.13.x.md b/qdrant-landing/content/blog/qdrant-1.13.x.md
index ff3194aca..6540aadcc 100644
--- a/qdrant-landing/content/blog/qdrant-1.13.x.md
+++ b/qdrant-landing/content/blog/qdrant-1.13.x.md
@@ -62,13 +62,13 @@ This experiment didn't require any changes to the codebase, and everything worke
- **Full Feature Support:** GPU indexing supports **all quantization options and datatypes** implemented in Qdrant.
- **Large-Scale Benefits:** Fast indexing unlocks larger size of segments, which leads to **higher RPS on the same hardware**.
-### [Instructions & Documentation](/documentation/guides/running-with-gpu/)
+### [Instructions & Documentation](/documentation/operations/running-with-gpu/)
The setup is simple, with pre-configured Docker images [**(check Docker Registry)**](https://hub.docker.com/r/qdrant/qdrant/tags) for GPU environments like NVIDIA and AMD.
We've made it so you can enable GPU indexing with minimal configuration changes.
> Note: Logs will clearly indicate GPU detection and usage for transparency.
-*Read more about this feature in the [**GPU Indexing Documentation**](/documentation/guides/running-with-gpu/)*
+*Read more about this feature in the [**GPU Indexing Documentation**](/documentation/operations/running-with-gpu/)*
#### Interview With the Creator of GPU Indexing
@@ -212,7 +212,7 @@ client.CreateCollection(context.Background(), &qdrant.CreateCollection{
```
> You may also use the `PATCH` request to enable Strict Mode on an existing collection.
-*Read more about Strict Mode in the [**Database Administration Guide**](/documentation/guides/administration/#strict-mode)*
+*Read more about Strict Mode in the [**Database Administration Guide**](/documentation/operations/administration/#strict-mode)*
## HNSW Graph Compression
@@ -228,7 +228,7 @@ In contrast with traditional compression algorithms, like gzip or lz4, **Delta E
> Our experiments didn't observe any measurable performance degradation. However, the memory footprint of the HNSW graph was **reduced by up to 30%**.
-*For more general info, read about [**Indexing and Data Structures in Qdrant**](/documentation/concepts/indexing/)*
+*For more general info, read about [**Indexing and Data Structures in Qdrant**](/documentation/manage-data/indexing/)*
## Filter by Named Vectors
@@ -236,13 +236,13 @@ In contrast with traditional compression algorithms, like gzip or lz4, **Delta E
In Qdrant, you can store multiple vectors of different sizes and types in a single data point. This is useful when you have to representing data with multiple embeddings, such as image, text, or video features.
-> We previously introduced this feature as [**Named Vectors**](/documentation/concepts/vectors/#named-vectors). Now, you can filter points by checking if a specific named vector exists.
+> We previously introduced this feature as [**Named Vectors**](/documentation/manage-data/vectors/#named-vectors). Now, you can filter points by checking if a specific named vector exists.
This makes it easy to search for points based on the presence of specific vectors. For example, *if your collection includes image and text vectors, you can filter for points that only have the image vector defined*.
### Create a Collection with Named Vectors
-Upon collection [creation](/documentation/concepts/collections/#collection-with-multiple-vectors), you define named vector types, such as `image` or `text`:
+Upon collection [creation](/documentation/manage-data/collections/#collection-with-multiple-vectors), you define named vector types, such as `image` or `text`:
```http
PUT /collections/{collection_name}
@@ -370,7 +370,7 @@ client.Scroll(context.Background(), &qdrant.ScrollPoints{
```
This feature makes it easier to manage and query collections with heterogeneous data. It will give you more flexibility and control over your vector search workflows.
-*To dive deeper into filtering by named vectors, check out the [**Filtering Documentation**](/documentation/concepts/filtering/#has-vector)*
+*To dive deeper into filtering by named vectors, check out the [**Filtering Documentation**](/documentation/search/filtering/#has-vector)*
## Custom Storage Engine
@@ -401,7 +401,7 @@ There are four elements: the **Data Layer**, **Mask Layer**, **the Region** and
## Get Started with Qdrant

-The easiest way to reach that **Hello World** moment is to [**try vector search in a live cluster**](/documentation/quickstart-cloud/). Our **interactive tutorial** will show you how to create a cluster, add data and try some filtering clauses.
+The easiest way to reach that **Hello World** moment is to [**try vector search in a live cluster**](/documentation/cloud-quickstart/). Our **interactive tutorial** will show you how to create a cluster, add data and try some filtering clauses.
**New features, like named vector filtering, can be tested in the Qdrant Dashboard:**
diff --git a/qdrant-landing/content/blog/qdrant-1.14.x.md b/qdrant-landing/content/blog/qdrant-1.14.x.md
index 7201bef2d..26acbc78f 100644
--- a/qdrant-landing/content/blog/qdrant-1.14.x.md
+++ b/qdrant-landing/content/blog/qdrant-1.14.x.md
@@ -175,23 +175,23 @@ POST /collections/{collection_name}/points/query
You can tweak parameters like `target`, `scale`, and `midpoint` to shape how quickly the score decays over distance. This is extremely useful for local search scenarios, where location is a major factor but not the only factor.
-> This is a very powerful feature that allows for extensive customization. Read more about this feature in the [**Hybrid Queries Documentation**](/documentation/concepts/hybrid-queries/)
+> This is a very powerful feature that allows for extensive customization. Read more about this feature in the [**Hybrid Queries Documentation**](/documentation/search/hybrid-queries/)
## Incremental HNSW Indexing

-Rebuilding an entire [**HNSW graph**](/documentation/concepts/indexing/#vector-index) every time new data is added can be computationally expensive. With this release, Qdrant now supports incremental HNSW indexing—an approach that extends existing HNSW graphs rather than recreating them from scratch.
+Rebuilding an entire [**HNSW graph**](/documentation/manage-data/indexing/#vector-index) every time new data is added can be computationally expensive. With this release, Qdrant now supports incremental HNSW indexing—an approach that extends existing HNSW graphs rather than recreating them from scratch.
> This feature is designed to make indexing faster and more efficient when you’re only adding new points. It reuses the existing structure of the HNSW graph and appends the new data directly onto it.
That means much less time spent building and more time searching. Although this initial implementation currently only support upserts, it lays the groundwork for a more dynamic and performance-friendly indexing process. Especially for collections with frequent updates to payload values or growing datasets, incremental HNSW is a big step forward.
-> Note that deletes and updates will still trigger a full rebuild. Check out the [**indexing documentation**](/documentation/concepts/indexing/) to learn more.
+> Note that deletes and updates will still trigger a full rebuild. Check out the [**indexing documentation**](/documentation/manage-data/indexing/) to learn more.
## Faster Batch Queries

-In this release, Qdrant introduces a major performance boost for [**batch query operations**](/documentation/concepts/search/#batch-search-api). Until now, the query batch API used a single thread per segment, which worked well—unless you had just one segment and a large batch of queries in a single request. In such cases, everything was processed on a single thread, significantly slowing things down. This scenario was especially common when using our [**Python client**](https://github.com/qdrant/qdrant-client), which is single-threaded by default.
+In this release, Qdrant introduces a major performance boost for [**batch query operations**](/documentation/search/search/#batch-search-api). Until now, the query batch API used a single thread per segment, which worked well—unless you had just one segment and a large batch of queries in a single request. In such cases, everything was processed on a single thread, significantly slowing things down. This scenario was especially common when using our [**Python client**](https://github.com/qdrant/qdrant-client), which is single-threaded by default.
The new optimization changes that. Large query batches are now split into chunks, and each chunk is processed on a separate thread.
@@ -220,7 +220,7 @@ We ran the same test of large queries for the following configurations:
As you can see, the improvement is **most significant (57%) in single-segment configurations** where parallelization was previously limited. Even in already-optimized multi-shard setups, we still see good gains of 12-32%.
-> For more on batch queries, check out the [**Search documentation**](/documentation/concepts/search/#batch-search-api).
+> For more on batch queries, check out the [**Search documentation**](/documentation/search/search/#batch-search-api).
## Improved Resource Use During Segment Optimization

@@ -237,7 +237,7 @@ It also gives you **predictable performance**, as there are fewer sudden spikes
In our experiment, **we indexed 400 million 512-dimensional vectors**. The previous version of Qdrant took around 40 hours on an 8-core machine, while the new version with this change completed the task in just 28 hours.
-> **Tutorial:** If you want to work with a large number of vectors, we can show you how. [**Learn how to upload and search large collections efficiently.**](/documentation/database-tutorials/large-scale-search/)
+> **Tutorial:** If you want to work with a large number of vectors, we can show you how. [**Learn how to upload and search large collections efficiently.**](/documentation/tutorials-operations/large-scale-search/)
## Optimized Memory Usage in Immutable Segments
diff --git a/qdrant-landing/content/blog/qdrant-1.15.x.md b/qdrant-landing/content/blog/qdrant-1.15.x.md
index 3bb972154..ac74180be 100644
--- a/qdrant-landing/content/blog/qdrant-1.15.x.md
+++ b/qdrant-landing/content/blog/qdrant-1.15.x.md
@@ -66,7 +66,7 @@ This approach maintains storage size and RAM usage similar to binary quantizatio
When performing nearest vector search, the query vector is compared against quantized vectors stored in the database. If the query itself remains unquantized and a scoring method exists to evaluate it directly against the compressed vectors, this allows for more accurate results without increasing memory usage.
-> Quantization enables efficient storage and search of high-dimensional vectors. Learn more about this from our [**quantization**](/documentation/guides/quantization/) docs.
+> Quantization enables efficient storage and search of high-dimensional vectors. Learn more about this from our [**quantization**](/documentation/manage-data/quantization/) docs.
@@ -65,7 +65,7 @@ To address these limitations, in version 1.16 we are introducing support for [AC
@@ -218,7 +218,7 @@ However, there was no convenient way to search to match *at least one* of the pr
}
```
-In version 1.16, we have added a new [`text_any` condition](/documentation/concepts/filtering/#full-text-any) that simplifies this use case. Now, instead of building complex boolean conditions, Qdrant can handle the tokenization and matching internally.
+In version 1.16, we have added a new [`text_any` condition](/documentation/search/filtering/#full-text-any) that simplifies this use case. Now, instead of building complex boolean conditions, Qdrant can handle the tokenization and matching internally.
The `text_any` condition matches text fields that contain any of the query terms. In other words, even if a text field contains just one of the query terms, it is considered a match.
@@ -270,9 +270,9 @@ Many Latin languages use diacritical marks (accents) to indicate different pronu
A solution to this problem is to normalize characters with diacritics to their base ASCII equivalents, a process known as ASCII folding. For example, "café" becomes "cafe" and "naïve" becomes "naive." This normalization allows for more flexible and inclusive search results, improving search recall for multilingual texts.
-[An open source contribution by community member eltu](https://github.com/qdrant/qdrant/pull/7408) has added [ASCII folding support](/documentation/concepts/indexing/#ascii-folding) to Qdrant's full-text search capabilities in version 1.16. When enabled, Qdrant automatically normalizes text fields and search terms, for instance by removing diacritical marks.
+[An open source contribution by community member eltu](https://github.com/qdrant/qdrant/pull/7408) has added [ASCII folding support](/documentation/manage-data/indexing/#ascii-folding) to Qdrant's full-text search capabilities in version 1.16. When enabled, Qdrant automatically normalizes text fields and search terms, for instance by removing diacritical marks.
-To enable ASCII folding, [set the `ascii_folding` option to `true` when creating a full-text payload index](/documentation/concepts/indexing/#ascii-folding).
+To enable ASCII folding, [set the `ascii_folding` option to `true` when creating a full-text payload index](/documentation/manage-data/indexing/#ascii-folding).
## Conditional Updates
@@ -285,7 +285,7 @@ Point updates in Qdrant are idempotent, meaning that applying the same update mu
3. Client A modifies point P and writes it back to Qdrant.
4. Client B modifies point P (based on stale data) and writes it back to Qdrant, unintentionally overwriting changes made by Client A.
-To address this issue, Qdrant 1.16 introduces support for [conditional updates](/documentation/concepts/points/#conditional-updates). With conditional updates, you can specify a condition, in the form of an update filter, that must be met for the update to be applied. If the condition is not met, Qdrant rejects the update, preventing unintended overwrites.
+To address this issue, Qdrant 1.16 introduces support for [conditional updates](/documentation/manage-data/points/#conditional-updates). With conditional updates, you can specify a condition, in the form of an update filter, that must be met for the update to be applied. If the condition is not met, Qdrant rejects the update, preventing unintended overwrites.
For example, you can add a `version` field to your points to track changes. When updating a point, you can specify a condition that the `version` field must match the expected value. If another client has modified the point in the meantime and incremented the `version`, the update is rejected:
@@ -315,10 +315,10 @@ In version 1.16, we have revamped the Web UI with a fresh new look and improved

-- The constant `k` that determines how Reciprocal Rank Fusion (RRF) fuses result sets [is now configurable](/documentation/concepts/hybrid-queries/#parametrized-rrf).
-- The Metrics API now exposes [additional metrics](/documentation/guides/monitoring/#metrics) that help monitor your deployment's health.
-- In strict mode, it is now possible to [configure the maximum number of payload indices](/documentation/guides/administration/#maximum-number-of-payload-index-count).
-- It's now possible to [attach custom metadata to collections](/documentation/concepts/collections/#collection-metadata).
+- The constant `k` that determines how Reciprocal Rank Fusion (RRF) fuses result sets [is now configurable](/documentation/search/hybrid-queries/#parametrized-rrf).
+- The Metrics API now exposes [additional metrics](/documentation/operations/monitoring/#metrics) that help monitor your deployment's health.
+- In strict mode, it is now possible to [configure the maximum number of payload indices](/documentation/operations/administration/#maximum-number-of-payload-index-count).
+- It's now possible to [attach custom metadata to collections](/documentation/manage-data/collections/#collection-metadata).
For a full list of all changes in version 1.16, please refer to the [change log](https://github.com/qdrant/qdrant/releases/tag/v1.16.0).
diff --git a/qdrant-landing/content/blog/qdrant-1.17.x.md b/qdrant-landing/content/blog/qdrant-1.17.x.md
index b2d9bab8d..bfa6c9c44 100644
--- a/qdrant-landing/content/blog/qdrant-1.17.x.md
+++ b/qdrant-landing/content/blog/qdrant-1.17.x.md
@@ -30,9 +30,9 @@ tags:
Crafting queries is hard: users often struggle to precisely formulate search queries. At the same time, judging the relevance of a given search result is often much easier. Retrieval systems can leverage this [relevance feedback](/articles/search-feedback-loop/) to iteratively refine results toward user intent.
-This release introduces a new [Relevance Feedback Query](/documentation/concepts/search-relevance/#relevance-feedback) as a scalable, vector‑native approach to incorporating relevance feedback. The Relevance Feedback Query uses a small amount of model‑generated feedback to guide the retriever through the entire vector space, effectively nudging search toward “more relevant” results without requiring expensive loops, expensive retrievers, or human labeling. This enables the engine to traverse billions of vectors with improved recall without having to retrain models.
+This release introduces a new [Relevance Feedback Query](/documentation/search/search-relevance/#relevance-feedback) as a scalable, vector‑native approach to incorporating relevance feedback. The Relevance Feedback Query uses a small amount of model‑generated feedback to guide the retriever through the entire vector space, effectively nudging search toward “more relevant” results without requiring expensive loops, expensive retrievers, or human labeling. This enables the engine to traverse billions of vectors with improved recall without having to retrain models.
-This method works by collecting lightweight feedback on just a few top results, creating “context pairs” of more‑ and less‑relevant examples. These pairs define a signal that adjusts the scoring function during the next retrieval pass. Instead of rewriting queries or rescoring large batches of documents, Qdrant modifies how similarity is computed. Experiments demonstrate substantial gains, especially when pairing expressive retrievers with strong feedback models. For the methodology and experiments behind this feature, see our article [Relevance Feedback in Qdrant](/articles/relevance-feedback). To get started, refer to the [documentation](/documentation/concepts/search-relevance/#relevance-feedback).
+This method works by collecting lightweight feedback on just a few top results, creating “context pairs” of more‑ and less‑relevant examples. These pairs define a signal that adjusts the scoring function during the next retrieval pass. Instead of rewriting queries or rescoring large batches of documents, Qdrant modifies how similarity is computed. Experiments demonstrate substantial gains, especially when pairing expressive retrievers with strong feedback models. For the methodology and experiments behind this feature, see our article [Relevance Feedback in Qdrant](/articles/relevance-feedback/). To get started, refer to the [documentation](/documentation/search/search-relevance/#relevance-feedback).
@@ -56,9 +56,9 @@ A common pattern with vector search engines like Qdrant involves bulk uploads. F
This release addresses these issues by changing how data is ingested. Shards still process data through the familiar stages: WAL persistence, queued updates, application to unoptimized segments, and eventual full indexing, but two new features reshape how systems behave under heavy write load.
-A new [update queue](/documentation/guides/low-latency-search/#query-indexed-data-only) tracks up to one million pending changes. When the queue fills, back pressure slows incoming writes, preventing runaway load and helping clusters stay stable even during large batch operations or recovery after downtime.
+A new [update queue](/documentation/search/low-latency-search/#query-indexed-data-only) tracks up to one million pending changes. When the queue fills, back pressure slows incoming writes, preventing runaway load and helping clusters stay stable even during large batch operations or recovery after downtime.
-For applications that demand consistently low-latency search, indexed‑only mode ensures queries touch only fully indexed segments. A side-effect of using indexed-only queries was that they could temporarily hide the newest updates, before they were indexed. A new [`prevent_unoptimized` optimizer setting](/documentation/guides/low-latency-search/#query-indexed-data-only) solves this by throttling updates to match the indexing rate, reducing the creation of large unoptimized segments.
+For applications that demand consistently low-latency search, indexed‑only mode ensures queries touch only fully indexed segments. A side-effect of using indexed-only queries was that they could temporarily hide the newest updates, before they were indexed. A new [`prevent_unoptimized` optimizer setting](/documentation/search/low-latency-search/#query-indexed-data-only) solves this by throttling updates to match the indexing rate, reducing the creation of large unoptimized segments.
Together, these features give developers tighter control over write throughput, indexing behavior, and search performance, especially in high‑volume environments.
@@ -66,7 +66,7 @@ Together, these features give developers tighter control over write throughput,
By default, a search operation queries a single replica of each shard within a collection. If one of these replicas responds slowly due to load or network issues, this negatively impacts the overall search latency. This phenomenon, where a single slow replica increases the 95th or 99th percentile latency of the entire system, is known as “tail latency.” High tail latency can noticeably degrade the user experience.
-To mitigate tail latency for read operations, this release introduces a new [delayed fan-out](/documentation/guides/low-latency-search/#use-delayed-fan-outs) feature. With delayed fan-outs, if the initial request to a replica exceeds a configurable latency threshold, an additional read request is sent to another replica, and Qdrant will use the first available response. Delayed fan-outs help your application provide a consistent, low latency experience to end-users.
+To mitigate tail latency for read operations, this release introduces a new [delayed fan-out](/documentation/search/low-latency-search/#use-delayed-fan-outs) feature. With delayed fan-outs, if the initial request to a replica exceeds a configurable latency threshold, an additional read request is sent to another replica, and Qdrant will use the first available response. Delayed fan-outs help your application provide a consistent, low latency experience to end-users.
## Greater Operational Observability
@@ -78,11 +78,11 @@ We are continuously working to enhance the operational observability of Qdrant c
Qdrant’s API exposes a `/telemetry` endpoint which provides information about the current state of a peer in a cluster, including the number of vectors, shards, and other useful information. However, obtaining a complete view of the entire cluster using this endpoint is not straightforward, requiring querying each peer and piecing together a complete view yourself.
-In version 1.17, we’re introducing a new [`/cluster/telemetry` endpoint](/documentation/guides/monitoring/#cluster-wide-telemetry). This API provides information about all peers in a cluster, offering insights into cluster-wide operations such as leader elections, resharding, and shard transfers.
+In version 1.17, we’re introducing a new [`/cluster/telemetry` endpoint](/documentation/operations/monitoring/#cluster-wide-telemetry). This API provides information about all peers in a cluster, offering insights into cluster-wide operations such as leader elections, resharding, and shard transfers.
### Segment Optimization Monitoring
-Optimization is a background process where Qdrant removes data marked for deletion, merges segments, and creates indexes. To improve visibility into this process, this release introduces [segment optimization monitoring capabilities](/documentation/concepts/optimizer/#optimization-monitoring).
+Optimization is a background process where Qdrant removes data marked for deletion, merges segments, and creates indexes. To improve visibility into this process, this release introduces [segment optimization monitoring capabilities](/documentation/operations/optimizer/#optimization-monitoring).
A new `/collections/{collection_name}/optimizations` API endpoint provides cluster-wide information about the current optimization status, as well as detailed information for current and past optimization operations. Because the output of the API can be verbose, we’ve added a new Optimizations tab to the Collections interface in the Web UI that makes it easier to analyze the data. Here, you can find an overview of the current optimization status, a timeline of current and past optimization operations, and a breakdown of the tasks in a specific cycle and their durations.
@@ -114,17 +114,17 @@ Many people have been asking about point filtering in web UI. And now it's back,
As an open source project, we welcome contributions from the Qdrant community. This release features two contributions from community members:
-- Not all payload field indexes are used in combination with dense vector queries. With this release, you can [specify whether individual payload field indexes should be reflected in the HNSW index](/documentation/concepts/indexing/#disable-the-creation-of-extra-edges-for-payload-fields).
-- A new API endpoint is available to [list all user-defined shard keys](/documentation/guides/distributed_deployment/#user-defined-sharding).
+- Not all payload field indexes are used in combination with dense vector queries. With this release, you can [specify whether individual payload field indexes should be reflected in the HNSW index](/documentation/manage-data/indexing/#disable-the-creation-of-extra-edges-for-payload-fields).
+- A new API endpoint is available to [list all user-defined shard keys](/documentation/operations/distributed_deployment/#user-defined-sharding).
Additionally, this release adds the following features:
-- Upserts now support an [update mode](/documentation/concepts/points/#update-mode) for insert-only or update-only operations.
+- Upserts now support an [update mode](/documentation/manage-data/points/#update-mode) for insert-only or update-only operations.
- To speed up the recovery of the replicas after they’ve been down, shards will [increase the size of their write-ahead log](https://github.com/qdrant/qdrant/pull/7834) when they detect that one of their remote replicas is unavailable.
-- Reciprocal Rank Fusion (RRF) combines multiple query results into one list, but its default equal weighting can let weaker rankers dilute stronger ones. [Weighted RRF](/documentation/concepts/hybrid-queries/#reciprocal-rank-fusion-rrf) in Qdrant 1.17 addresses this by letting you assign weights to individual queries.
+- Reciprocal Rank Fusion (RRF) combines multiple query results into one list, but its default equal weighting can let weaker rankers dilute stronger ones. [Weighted RRF](/documentation/search/hybrid-queries/#reciprocal-rank-fusion-rrf) in Qdrant 1.17 addresses this by letting you assign weights to individual queries.
- A new [user interface in the Web UI enables resharding collections](https://github.com/qdrant/qdrant-web-ui/pull/341) on Qdrant Cloud.
-- Qdrant now supports [audit logging](/documentation/guides/security/#audit-logging) to track all API operations that require authentication or authorization.
-- [External provider API keys for inference requests](/documentation/concepts/inference/#external-embedding-model-providers) can now be provided in the request header.
+- Qdrant now supports [audit logging](/documentation/operations/security/#audit-logging) to track all API operations that require authentication or authorization.
+- [External provider API keys for inference requests](/documentation/inference/#external-embedding-model-providers) can now be provided in the request header.
For a full list of all changes in version 1.17, please refer to the [change log](https://github.com/qdrant/qdrant/releases/tag/v1.17.0).
diff --git a/qdrant-landing/content/blog/qdrant-1.9.x.md b/qdrant-landing/content/blog/qdrant-1.9.x.md
index c76f64c05..b2650f284 100644
--- a/qdrant-landing/content/blog/qdrant-1.9.x.md
+++ b/qdrant-landing/content/blog/qdrant-1.9.x.md
@@ -28,7 +28,7 @@ tags:
Historically, our API key supported basic read and write operations. However, recognizing the evolving needs of our user base, especially large organizations, we've implemented additional options for finer control over data access within internal environments.
-Qdrant now supports [granular access control using JSON Web Tokens (JWT)](/documentation/guides/security/#granular-access-control-with-jwt). JWT will let you easily limit a user's access to the specific data they are permitted to view. Specifically, JWT-based authentication leverages tokens with restricted access to designated data segments, laying the foundation for implementing role-based access control (RBAC) on top of it. **You will be able to define permissions for users and restrict access to sensitive endpoints.**
+Qdrant now supports [granular access control using JSON Web Tokens (JWT)](/documentation/operations/security/#granular-access-control-with-jwt). JWT will let you easily limit a user's access to the specific data they are permitted to view. Specifically, JWT-based authentication leverages tokens with restricted access to designated data segments, laying the foundation for implementing role-based access control (RBAC) on top of it. **You will be able to define permissions for users and restrict access to sensitive endpoints.**
**Dashboard users:** For your convenience, we have added a JWT generation tool the Qdrant Web UI under the 🔑 tab. If you're using the default url, you will find it at `http://localhost:6333/dashboard#/jwt`.
@@ -36,11 +36,11 @@ Qdrant now supports [granular access control using JSON Web Tokens (JWT)](/docum
We highly recommend this feature to enterprises using [Qdrant Hybrid Cloud](/hybrid-cloud/), as it is tailored to those who need additional control over company data and user access. RBAC empowers administrators to define roles and assign specific privileges to users based on their roles within the organization. In combination with [Hybrid Cloud's data sovereign architecture](/documentation/hybrid-cloud/), this feature reinforces internal security and efficient collaboration by granting access only to relevant resources.
-> **Documentation:** [Read the access level breakdown](/documentation/guides/security/#table-of-access) to see which actions are allowed or denied.
+> **Documentation:** [Read the access level breakdown](/documentation/operations/security/#table-of-access) to see which actions are allowed or denied.
## Faster shard transfers on node recovery
-We now offer a streamlined approach to [data synchronization between shards](/documentation/guides/distributed_deployment/#shard-transfer-method) during node upgrades or recovery processes. Traditional methods used to transfer the entire dataset, but our new `wal_delta` method focuses solely on transmitting the difference between two existing shards. By leveraging the Write-Ahead Log (WAL) of both shards, this method selectively transmits missed operations to the target shard, ensuring data consistency.
+We now offer a streamlined approach to [data synchronization between shards](/documentation/operations/distributed_deployment/#shard-transfer-method) during node upgrades or recovery processes. Traditional methods used to transfer the entire dataset, but our new `wal_delta` method focuses solely on transmitting the difference between two existing shards. By leveraging the Write-Ahead Log (WAL) of both shards, this method selectively transmits missed operations to the target shard, ensuring data consistency.
In some cases, where transfers can take hours, this update **reduces transfers down to a few minutes.**
@@ -48,7 +48,7 @@ The advantages of this approach are twofold:
1. **It is faster** since only the differential data is transmitted, avoiding the transfer of redundant information.
2. It upholds robust **ordering guarantees**, crucial for applications reliant on strict sequencing.
-For more details on how this works, check out the [shard transfer documentation](/documentation/guides/distributed_deployment/#shard-transfer-method).
+For more details on how this works, check out the [shard transfer documentation](/documentation/operations/distributed_deployment/#shard-transfer-method).
> **Note:** There are limitations to consider. First, this method only works with existing shards. Second, while the WALs typically retain recent operations, their capacity is finite, potentially impeding the transfer process if exceeded. Nevertheless, for scenarios like rapid node restarts or upgrades, where the WAL content remains manageable, WAL delta transfer is an efficient solution.
@@ -56,7 +56,7 @@ Overall, this is a great optional optimization measure and serves as the **auto-
## Native support for uint8 embeddings
-Our latest version introduces [support for uint8 embeddings within Qdrant collections](/documentation/concepts/collections/#vector-datatypes). This feature supports embeddings provided by companies in a pre-quantized format. Unlike previous iterations where indirect support was available via [quantization methods](/documentation/guides/quantization/), this update empowers users with direct integration capabilities.
+Our latest version introduces [support for uint8 embeddings within Qdrant collections](/documentation/manage-data/collections/#vector-datatypes). This feature supports embeddings provided by companies in a pre-quantized format. Unlike previous iterations where indirect support was available via [quantization methods](/documentation/manage-data/quantization/), this update empowers users with direct integration capabilities.
In the case of `uint8`, elements within the vector are represented as unsigned 8-bit integers, encompassing values ranging from 0 to 255. Using these embeddings gives you a **4x memory saving and about a 30% speed-up in search**, while keeping 99.99% of the response quality. As opposed to the original quantization method, with this feature you can spare disk usage if you directly implement pre-quantized embeddings.
@@ -73,7 +73,7 @@ PUT /collections/{collection_name}
}
```
-> **Note:** When using Quantization to optimize vector search, you can use this feature to `rescore` binary vectors against new byte vectors. With double the speedup, you will be able to achieve a better result than if you rescored with float vectors. With each byte vector quantized at the binary level, the result will deliver unparalleled efficiency and savings. To learn more about this optimization method, read our [Quantization docs](/documentation/guides/quantization/).
+> **Note:** When using Quantization to optimize vector search, you can use this feature to `rescore` binary vectors against new byte vectors. With double the speedup, you will be able to achieve a better result than if you rescored with float vectors. With each byte vector quantized at the binary level, the result will deliver unparalleled efficiency and savings. To learn more about this optimization method, read our [Quantization docs](/documentation/manage-data/quantization/).
## Minor improvements and new features
diff --git a/qdrant-landing/content/blog/qdrant-cpu-intel-benchmark.md b/qdrant-landing/content/blog/qdrant-cpu-intel-benchmark.md
index 01fc6e1e7..ba60a4dae 100644
--- a/qdrant-landing/content/blog/qdrant-cpu-intel-benchmark.md
+++ b/qdrant-landing/content/blog/qdrant-cpu-intel-benchmark.md
@@ -69,4 +69,4 @@ As large companies continue to integrate sophisticated AI and machine learning t
Qdrant is open source and offers a complete SaaS solution, hosted on AWS, GCP, and Azure.
-Getting started is easy, either spin up a [container image](https://hub.docker.com/r/qdrant/qdrant) or start a [free Cloud instance](https://cloud.qdrant.io/login). The documentation covers [adding the data](/documentation/tutorials/bulk-upload/) to your Qdrant instance as well as [creating your indices](/documentation/tutorials/optimize/). We would love to hear about what you are building and please connect with our engineering team on [Github](https://github.com/qdrant/qdrant), [Discord](https://discord.com/invite/tdtYvXjC4h), or [LinkedIn](https://www.linkedin.com/company/qdrant).
\ No newline at end of file
+Getting started is easy, either spin up a [container image](https://hub.docker.com/r/qdrant/qdrant) or start a [free Cloud instance](https://cloud.qdrant.io/login). The documentation covers [adding the data](/documentation/tutorials-develop/bulk-upload/) to your Qdrant instance as well as [creating your indices](/documentation/operations/optimize/). We would love to hear about what you are building and please connect with our engineering team on [Github](https://github.com/qdrant/qdrant), [Discord](https://discord.com/invite/tdtYvXjC4h), or [LinkedIn](https://www.linkedin.com/company/qdrant).
\ No newline at end of file
diff --git a/qdrant-landing/content/blog/qdrant-n8n.md b/qdrant-landing/content/blog/qdrant-n8n.md
index 7862a1c86..bf8a7b4f1 100644
--- a/qdrant-landing/content/blog/qdrant-n8n.md
+++ b/qdrant-landing/content/blog/qdrant-n8n.md
@@ -20,7 +20,7 @@ Let's go through the process of building a workflow. We'll build a chat with a c
## Prerequisites
-- A running Qdrant instance. If you need one, use our [Quick start guide](/documentation/quick-start/) to set it up.
+- A running Qdrant instance. If you need one, use our [Quick start guide](/documentation/quickstart/) to set it up.
- An OpenAI API Key. Retrieve your key from the [OpenAI API page](https://platform.openai.com/account/api-keys) for your account.
- A GitHub access token. If you need to generate one, start at the [GitHub Personal access tokens page](https://github.com/settings/tokens/).
diff --git a/qdrant-landing/content/blog/qdrant-relari.md b/qdrant-landing/content/blog/qdrant-relari.md
index 08af40320..4638e1c56 100644
--- a/qdrant-landing/content/blog/qdrant-relari.md
+++ b/qdrant-landing/content/blog/qdrant-relari.md
@@ -192,7 +192,7 @@ def log_retriever_results(retriever, dataset):
return log
```
-This is the power of combining Qdrant and Relari. Instead of having to build multiple applications, slowly [upsert](/documentation/concepts/points/#upload-points), and [retrieve](/documentation/concepts/search/) data, you can use both to quickly test different parameters and instantly get results. This evaluation system is built for fast, useful iteration.
+This is the power of combining Qdrant and Relari. Instead of having to build multiple applications, slowly [upsert](/documentation/manage-data/points/#upload-points), and [retrieve](/documentation/search/search/) data, you can use both to quickly test different parameters and instantly get results. This evaluation system is built for fast, useful iteration.
### Evaluate results
@@ -249,7 +249,7 @@ We can even look at individual cases in the UI to get more insight.
Relari and Qdrant can also be integrated to evaluate [hybrid search systems](/articles/hybrid-search/), which combine both sparse (traditional keyword-based) and dense (vector-based) search methods. This combination allows you to leverage the strengths of both approaches, potentially improving the relevance and accuracy of search results.
-By using Relari’s evaluation framework alongside Qdrant’s [vector search](/advanced-search/) capabilities, you can experiment with different configurations for hybrid search. For example, you might test varying the ratio of [sparse-to-dense search results](/documentation/concepts/hybrid-queries/#hybrid-search) or adjust how each component contributes to the overall retrieval score.
+By using Relari’s evaluation framework alongside Qdrant’s [vector search](/advanced-search/) capabilities, you can experiment with different configurations for hybrid search. For example, you might test varying the ratio of [sparse-to-dense search results](/documentation/search/hybrid-queries/#hybrid-search) or adjust how each component contributes to the overall retrieval score.
## Auto Prompt Optimization
diff --git a/qdrant-landing/content/blog/qdrant-stars-announcement copy.md b/qdrant-landing/content/blog/qdrant-stars-announcement copy.md
index 6294a2d41..e7daf58f3 100644
--- a/qdrant-landing/content/blog/qdrant-stars-announcement copy.md
+++ b/qdrant-landing/content/blog/qdrant-stars-announcement copy.md
@@ -75,7 +75,7 @@ Our inaugural Qdrant Stars are a diverse and talented lineup who have shown exce
Owen Colegrove is the Co-Founder of SciPhi, making it easy build, deploy, and scale RAG systems using Qdrant vector search tecnology. He has Ph.D. in Physics and was previously a Quantitative Strategist at Citadel and a Researcher at CERN.
+Owen Colegrove is the Co-Founder of SciPhi, making it easy build, deploy, and scale RAG systems using Qdrant vector search technology. He has Ph.D. in Physics and was previously a Quantitative Strategist at Citadel and a Researcher at CERN.
@@ -172,7 +172,7 @@ Share your journey with vector search technologies and how you plan to contribut #### Nominate a Qdrant Star -Do you know someone who could be our next Qdrant Star? Please submit your nomination through our [nomination form](hhttps://forms.gle/jsEJ9zjdaxqk7F5b9), explaining why they're a great fit. Your recommendation could help us find the next standout ambassador. +Do you know someone who could be our next Qdrant Star? Please submit your nomination through our [nomination form](https://forms.gle/jsEJ9zjdaxqk7F5b9), explaining why they're a great fit. Your recommendation could help us find the next standout ambassador. #### Learn More diff --git a/qdrant-landing/content/blog/qdrant-unstructured.md b/qdrant-landing/content/blog/qdrant-unstructured.md index 0cc9473f7..2d8147004 100644 --- a/qdrant-landing/content/blog/qdrant-unstructured.md +++ b/qdrant-landing/content/blog/qdrant-unstructured.md @@ -18,7 +18,7 @@ In this blog post, we'll demonstrate how to load data into Qdrant from the chann ### Prerequisites -- A running Qdrant instance. Refer to our [Quickstart guide](/documentation/quick-start/) to set up an instance. +- A running Qdrant instance. Refer to our [Quickstart guide](/documentation/quickstart/) to set up an instance. - A Discord bot token. Generate one [here](https://discord.com/developers/applications) after adding the bot to your server. - Unstructured CLI with the required extras. For more information, see the Discord [Getting Started guide](https://discord.com/developers/docs/getting-started). Install it with the following command: @@ -50,7 +50,7 @@ unstructured-ingest discord --help ### Ingesting into Qdrant -Before loading the data, set up a collection with the information you need for the following REST call. In this example we use a local Huggingface model generating 384-dimensional embeddings. You can create a Qdrant [API key](/documentation/cloud/authentication/#create-api-keys) and set names for your Qdrant [collections](/documentation/concepts/collections/). +Before loading the data, set up a collection with the information you need for the following REST call. In this example we use a local Huggingface model generating 384-dimensional embeddings. You can create a Qdrant [API key](/documentation/cloud/authentication/#create-api-keys) and set names for your Qdrant [collections](/documentation/manage-data/collections/). We set up the collection with the following command: diff --git a/qdrant-landing/content/blog/qdrant-x-dust-how-vector-search-helps-make-work-work-better-stan-polu-vector-space-talk-010.md b/qdrant-landing/content/blog/qdrant-x-dust-how-vector-search-helps-make-work-work-better-stan-polu-vector-space-talk-010.md index 1f6feaa3c..1d7ae4c99 100644 --- a/qdrant-landing/content/blog/qdrant-x-dust-how-vector-search-helps-make-work-work-better-stan-polu-vector-space-talk-010.md +++ b/qdrant-landing/content/blog/qdrant-x-dust-how-vector-search-helps-make-work-work-better-stan-polu-vector-space-talk-010.md @@ -243,7 +243,7 @@ So it's not as much as performance, but obviously performance matters, and that' Stanislas Polu: What I mentioned is that it's interesting because today the retrieval is noisy, because the embedders are not perfect, which is an interesting point. -Sorry, I'm double clicking, but I'll come back. The embedded are really not perfect. Are really not perfect. So that's interesting. When Qdrant release kind of optimization for [storage of vectors](https://qdrant.tech/documentation/concepts/storage/), they come with obviously warnings that you may have a loss. +Sorry, I'm double clicking, but I'll come back. The embedded are really not perfect. Are really not perfect. So that's interesting. When Qdrant release kind of optimization for [storage of vectors](https://qdrant.tech/documentation/manage-data/storage/), they come with obviously warnings that you may have a loss. Of precision because of the compression, et cetera, et cetera. And that's funny, like in all kind of retrieval and mental generation world, it really doesn't matter. We take all the performance we can because the loss of precision coming from compression of those vectors at the vector DB level are completely negligible compared to. The holon fuckness of the embedders in. diff --git a/qdrant-landing/content/blog/rag-evaluation-guide.md b/qdrant-landing/content/blog/rag-evaluation-guide.md index 4606c2bee..abc574498 100644 --- a/qdrant-landing/content/blog/rag-evaluation-guide.md +++ b/qdrant-landing/content/blog/rag-evaluation-guide.md @@ -87,7 +87,7 @@ Quotient AI is another platform designed to streamline the evaluation of RAG sys Improper data ingestion can cause the loss of important contextual information, which is critical for generating accurate and coherent responses. Also, inconsistent data ingestion can cause the system to produce unreliable and inconsistent responses, undermining user trust and satisfaction. -Vector databases support different [indexing](https://qdrant.tech/documentation/concepts/indexing/) techniques. In order to know if you are ingesting data properly, you should always check how changes in variables related to indexing techniques affect data ingestion. +Vector databases support different [indexing](https://qdrant.tech/documentation/manage-data/indexing/) techniques. In order to know if you are ingesting data properly, you should always check how changes in variables related to indexing techniques affect data ingestion. #### Solution: Pay attention to how your data is chunked @@ -129,7 +129,7 @@ By evaluating the retrieval quality using these metrics, you can assess the effe Each new LLM with a larger context window claims to render RAG obsolete. However, studies like "[Lost in the Middle](https://arxiv.org/abs/2307.03172)" demonstrate that feeding entire documents to LLMs can diminish their ability to answer questions effectively. Therefore, the retrieval algorithm is crucial for fetching the most relevant data in the RAG system. -**Configure dense vector retrieval:** You need to choose the right [similarity metric](https://qdrant.tech/documentation/concepts/search/) to get the best retrieval quality. Metrics used in dense vector retrieval include Cosine Similarity, Dot Product, Euclidean Distance, and Manhattan Distance. +**Configure dense vector retrieval:** You need to choose the right [similarity metric](https://qdrant.tech/documentation/search/search/) to get the best retrieval quality. Metrics used in dense vector retrieval include Cosine Similarity, Dot Product, Euclidean Distance, and Manhattan Distance. **Use sparse vectors & hybrid search where needed**: For sparse vectors, the algorithm choice of BM-25, SPLADE, or BM-42 will affect retrieval quality. Hybrid Search combines dense vector retrieval with sparse vector-based search. diff --git a/qdrant-landing/content/blog/series-A-funding-round.md b/qdrant-landing/content/blog/series-A-funding-round.md index 356a48ff8..98c845078 100644 --- a/qdrant-landing/content/blog/series-A-funding-round.md +++ b/qdrant-landing/content/blog/series-A-funding-round.md @@ -27,9 +27,9 @@ The rise of generative AI in the last few years has shone a spotlight on vector ## What sets Qdrant apart? -To meet the needs of the next generation of AI applications, Qdrant has always been built with four keys in mind: efficiency, scalability, performance, and flexibility. Our goal is to give our users unmatched speed and reliability, even when they are building massive-scale AI applications requiring the handling of billions of vectors. We did so by building Qdrant on Rust for performance, memory safety, and scale. Additionally, [our custom HNSW search algorithm](/articles/filterable-hnsw/) and unique [filtering](/documentation/concepts/filtering/) capabilities consistently lead to [highest RPS](/benchmarks/), minimal latency, and high control with accuracy when running large-scale, high-dimensional operations. +To meet the needs of the next generation of AI applications, Qdrant has always been built with four keys in mind: efficiency, scalability, performance, and flexibility. Our goal is to give our users unmatched speed and reliability, even when they are building massive-scale AI applications requiring the handling of billions of vectors. We did so by building Qdrant on Rust for performance, memory safety, and scale. Additionally, [our custom HNSW search algorithm](/articles/filterable-hnsw/) and unique [filtering](/documentation/search/filtering/) capabilities consistently lead to [highest RPS](/benchmarks/), minimal latency, and high control with accuracy when running large-scale, high-dimensional operations. -Beyond performance, we provide our users with the most flexibility in cost savings and deployment options. A combination of cutting-edge efficiency features, like [built-in compression options](/documentation/guides/quantization/), [multitenancy](/documentation/guides/multiple-partitions/) and the ability to [offload data to disk](/documentation/concepts/storage/), dramatically reduce memory consumption. Committed to privacy and security, crucial for modern AI applications, Qdrant now also offers on-premise and hybrid SaaS solutions, meeting diverse enterprise needs in a data-sensitive world. This approach, coupled with our open-source foundation, builds trust and reliability with engineers and developers, making Qdrant a game-changer in the vector database domain. +Beyond performance, we provide our users with the most flexibility in cost savings and deployment options. A combination of cutting-edge efficiency features, like [built-in compression options](/documentation/manage-data/quantization/), [multitenancy](/documentation/manage-data/multitenancy/) and the ability to [offload data to disk](/documentation/manage-data/storage/), dramatically reduce memory consumption. Committed to privacy and security, crucial for modern AI applications, Qdrant now also offers on-premise and hybrid SaaS solutions, meeting diverse enterprise needs in a data-sensitive world. This approach, coupled with our open-source foundation, builds trust and reliability with engineers and developers, making Qdrant a game-changer in the vector database domain. ## What's next? diff --git a/qdrant-landing/content/blog/superlinked-multimodal-search.md b/qdrant-landing/content/blog/superlinked-multimodal-search.md index 72d666944..e88e602b2 100644 --- a/qdrant-landing/content/blog/superlinked-multimodal-search.md +++ b/qdrant-landing/content/blog/superlinked-multimodal-search.md @@ -57,7 +57,7 @@ This flexibility with weights allows users to rapidly iterate, experiment, and i **SuperLinked Framework Setup:** Once you [**setup the Superlinked server**](https://github.com/superlinked/superlinked-recipes/tree/main/projects/hotel-search), most of the prototype work is done right out of the [**sample notebook**](https://github.com/superlinked/superlinked-recipes/blob/main/projects/hotel-search/notebooks/superlinked-queries.ipynb). Once ready, you can host from a GitHub repository and deploy via Actions. -**Qdrant Vector Database:** The easiest way to store vectors is to [**create a free Qdrant Cloud cluster**](https://cloud.qdrant.io/login). We have simple docs that show you how to [**grab the API key**](/documentation/quickstart-cloud/) and upsert your new vectors and run some basic searches. For this demo, we have deployed a live Qdrant Cloud cluster. +**Qdrant Vector Database:** The easiest way to store vectors is to [**create a free Qdrant Cloud cluster**](https://cloud.qdrant.io/login). We have simple docs that show you how to [**grab the API key**](/documentation/cloud-quickstart/) and upsert your new vectors and run some basic searches. For this demo, we have deployed a live Qdrant Cloud cluster. **OpenAI API Key:** For natural language queries and generating the weights you will need an OpenAI API key diff --git a/qdrant-landing/content/blog/using-qdrant-and-langchain.md b/qdrant-landing/content/blog/using-qdrant-and-langchain.md index ce805855b..3d27800b1 100644 --- a/qdrant-landing/content/blog/using-qdrant-and-langchain.md +++ b/qdrant-landing/content/blog/using-qdrant-and-langchain.md @@ -74,7 +74,7 @@ Here is what this basic tutorial will teach you: **3. Implement vector similarity search algorithms:** Second, you will create and test a chatbot that only uses the LLM. Then, you will enable the memory component offered by Qdrant. This will allow your chatbot to be modified and updated, giving it long-term memory. -**4. Optimize the chatbot's performance:** In the last step, you will query the chatbot in two ways. First query will retrieve parametric data from the LLM, while the second one will get contexual data via Qdrant. +**4. Optimize the chatbot's performance:** In the last step, you will query the chatbot in two ways. First query will retrieve parametric data from the LLM, while the second one will get contextual data via Qdrant. The goal of this exercise is to show that RAG is simple to implement via LangChain and yields much better results than using LLMs by itself. @@ -94,13 +94,13 @@ Whether you are building a bank fraud-detection system, RAG for e-commerce, or s Now that you know how Qdrant and LangChain can elevate your setup - it's time to try us out. -- Qdrant is open source and you can [quickstart locally](/documentation/quick-start/), [install it via Docker](/documentation/quick-start/), [or to Kubernetes](https://github.com/qdrant/qdrant-helm/). +- Qdrant is open source and you can [quickstart locally](/documentation/quickstart/), [install it via Docker](/documentation/quickstart/), [or to Kubernetes](https://github.com/qdrant/qdrant-helm/). - We also offer [a free-tier of Qdrant Cloud](https://cloud.qdrant.io/) for prototyping and testing. - For best integration with LangChain, read the [official LangChain documentation](https://python.langchain.com/docs/integrations/vectorstores/qdrant/). -- For all other cases, [Qdrant documentation](/documentation/integrations/langchain/) is the best place to get there. +- For all other cases, [Qdrant documentation](/documentation/frameworks/langchain/) is the best place to get there. > We offer additional support tailored to your business needs. [Contact us](https://qdrant.to/contact-us) to learn more about implementation strategies and integrations that suit your company. diff --git a/qdrant-landing/content/blog/vector-image-search-rag-vector-space-talk-008.md b/qdrant-landing/content/blog/vector-image-search-rag-vector-space-talk-008.md index bfeff817b..9d2677f0f 100644 --- a/qdrant-landing/content/blog/vector-image-search-rag-vector-space-talk-008.md +++ b/qdrant-landing/content/blog/vector-image-search-rag-vector-space-talk-008.md @@ -126,7 +126,7 @@ Noe Acache: So the training task was quite simple. And at the end, the embeddings was not learning any very complex features, so it was not really improving it. So jumping onto the areas of improvement, knowing all of that, the first thing I would do if I had to do it again will be to use the managed milboss for a better fine tuning, it would be to labyd hard examples, hard pairs. So, for instance, you know that when you have a matching pair where the similarity score is not too high or not too low, you know, it's where the model kind of struggles and you will find some good matching and also some mistakes. So it's where it kind of is interesting to level to then be able to fine tune your model and make it learn more complex things according to your tasks. Another possibility for fine tuning will be some sort of multilabel classification. So for instance, if you consider tab close, you could say, all right, those disclose contain buttons. It have a color, it have stripes. Noe Acache: -And for all of these categories, you'll get a score between zero and one. And concatenating all these scores together, you can get an embedding which you can put in a vector database for your vector search. It's kind of hard to scale because you need to do a specific model and labeling for each type of object. And I really wonder how Google lens does because their algorithm work very well. So are they working more like with this kind of functioning or this kind of functioning? So if anyone had any thought on that or any idea, again, I'd be happy to talk about it afterwards. And finally, I feel like we made a lot of advancements in multimodal training, trying to combine text inputs with image. We've made input to build some kind of complex embeddings. And how great would it be to have an image embeding you could guide with text. +And for all of these categories, you'll get a score between zero and one. And concatenating all these scores together, you can get an embedding which you can put in a vector database for your vector search. It's kind of hard to scale because you need to do a specific model and labeling for each type of object. And I really wonder how Google lens does because their algorithm work very well. So are they working more like with this kind of functioning or this kind of functioning? So if anyone had any thought on that or any idea, again, I'd be happy to talk about it afterwards. And finally, I feel like we made a lot of advancements in multimodal training, trying to combine text inputs with image. We've made input to build some kind of complex embeddings. And how great would it be to have an image embedding you could guide with text. Noe Acache: So you could just like when creating an embedding of your image, just say, all right, here, I don't care about the movements, I only care about the features on the object, for instance. And then it will learn an embedding according to your task without any fine tuning. I really feel like with the current state of the arts we are able to do this. I mean, we need to do it, but the technology is ready. diff --git a/qdrant-landing/content/blog/vector-search-for-content-based-video-recommendation-gladys-and-sam-vector-space-talk-012.md b/qdrant-landing/content/blog/vector-search-for-content-based-video-recommendation-gladys-and-sam-vector-space-talk-012.md index 82399b8c3..ee99e2b08 100644 --- a/qdrant-landing/content/blog/vector-search-for-content-based-video-recommendation-gladys-and-sam-vector-space-talk-012.md +++ b/qdrant-landing/content/blog/vector-search-for-content-based-video-recommendation-gladys-and-sam-vector-space-talk-012.md @@ -158,7 +158,7 @@ Demetrios: And so you kind of touched on this earlier, but can you say it again? Because I don't know if I fully grasped it. Where are all the places in the system that you are evaluating? Because it's not just the output. Right. And how do you look at evaluation as a system rather than just evaluating the output every once in a while? Sourabh Agrawal: -Yeah, so I mean, what we do is we plug with every part. So even if you start with retrieval, so we have a high level check where we look at the quality of retrieved context. And then we also have evaluations for every part of this retrieval pipeline. So if you're doing query rewrite, if you're doing re ranking, if you're doing sub question, we have evaluations for all of them. In fact, we have worked closely with the llama index team to kind of integrate with all of their modular pipelines. Secondly, once we cross the retrieval step, we have around five to six matrices on this retrieval part. Then we look at the response generation. We have their evaluations for different criterias. +Yeah, so I mean, what we do is we plug with every part. So even if you start with retrieval, so we have a high level check where we look at the quality of retrieved context. And then we also have evaluations for every part of this retrieval pipeline. So if you're doing query rewrite, if you're doing re ranking, if you're doing sub question, we have evaluations for all of them. In fact, we have worked closely with the llama index team to kind of integrate with all of their modular pipelines. Secondly, once we cross the retrieval step, we have around five to six matrices on this retrieval part. Then we look at the response generation. We have their evaluations for different criteria. Sourabh Agrawal: So conciseness, completeness, safety, jailbreaks, prompt injections, as well as you can define your custom guidelines. So you can say that, okay, if the user is asking anything and related to code, the output should also give an example code snippet so you can just in plain English, define this guideline. And we check for that. And then finally, like zooming out, we also have checks. We look at conversations as a whole, how the user is satisfied, how many turns it requires for them to, for the chatbot or the LLM to answer the user. Yeah, that's how we look at the whole evaluations as a whole. diff --git a/qdrant-landing/content/blog/vsd25-post-event.md b/qdrant-landing/content/blog/vsd25-post-event.md index 9dd0e3d40..94695ac9a 100644 --- a/qdrant-landing/content/blog/vsd25-post-event.md +++ b/qdrant-landing/content/blog/vsd25-post-event.md @@ -54,7 +54,7 @@ André highlighted the underlying forces driving this shift: We are convinced that if AI is going to evolve beyond static assistants, it needs a **retrieval layer built for unstructured data and agent workflows**. -Next on stage, our Co-Founder and CTO [**Andrey Vasnetsov**](https://www.linkedin.com/in/andrey-vasnetsov-75268897/) emphazised our belief that ‘vector database’ is actually the wrong term to describe what we are building at Qdrant. **Qdrant is not “a vector database”** because vectors themselves are not data, but representations. +Next on stage, our Co-Founder and CTO [**Andrey Vasnetsov**](https://www.linkedin.com/in/andrey-vasnetsov-75268897/) emphasized our belief that ‘vector database’ is actually the wrong term to describe what we are building at Qdrant. **Qdrant is not “a vector database”** because vectors themselves are not data, but representations.  diff --git a/qdrant-landing/content/blog/what-is-vector-similarity.md b/qdrant-landing/content/blog/what-is-vector-similarity.md index 9f359db4a..fd5789780 100644 --- a/qdrant-landing/content/blog/what-is-vector-similarity.md +++ b/qdrant-landing/content/blog/what-is-vector-similarity.md @@ -145,15 +145,15 @@ The vector index in Qdrant employs the Hierarchical Navigable Small World (HNSW) ### Scalability -For massive datasets and demanding workloads, Qdrant supports [distributed deployment](/documentation/guides/distributed_deployment/) from v0.8.0. In this mode, you can set up a Qdrant cluster and distribute data across multiple nodes, enabling you to maintain high performance and availability even under increased workloads. Clusters support sharding and replication, and harness the Raft consensus algorithm to manage node coordination. +For massive datasets and demanding workloads, Qdrant supports [distributed deployment](/documentation/operations/distributed_deployment/) from v0.8.0. In this mode, you can set up a Qdrant cluster and distribute data across multiple nodes, enabling you to maintain high performance and availability even under increased workloads. Clusters support sharding and replication, and harness the Raft consensus algorithm to manage node coordination. -Qdrant also supports vector [quantization](/documentation/guides/quantization/) to reduce memory footprint and speed up vector similarity searches, making it very effective for large-scale applications where efficient resource management is critical. +Qdrant also supports vector [quantization](/documentation/manage-data/quantization/) to reduce memory footprint and speed up vector similarity searches, making it very effective for large-scale applications where efficient resource management is critical. There are three quantization strategies you can choose from - scalar quantization, binary quantization and product quantization - which will help you control the trade-off between storage efficiency, search accuracy and speed. ### Security -Qdrant offers several [security features](/documentation/guides/security/) to help protect data and access to the vector store: +Qdrant offers several [security features](/documentation/operations/security/) to help protect data and access to the vector store: - API Key Authentication: This helps secure API access to Qdrant Cloud with static or read-only API keys. - JWT-Based Access Control: You can also enable more granular access control through JSON Web Tokens (JWT), and opt for restricted access to specific parts of the stored data while building Role-Based Access Control (RBAC). @@ -167,7 +167,7 @@ In order to achieve top performance in vector similarity searches, Qdrant employ **Support for Dense and Sparse Vectors**: Qdrant supports both dense and sparse vector representations. While dense vectors are most common, you may encounter situations where the dataset contains a range of specialized domain-specific keywords. [Sparse vectors](/articles/sparse-vectors/) shine in such scenarios. Sparse vectors are vector representations of data where most elements are zero. -**Multitenancy**: Qdrant supports [multitenancy](/documentation/guides/multiple-partitions/) by allowing vectors to be partitioned by payload within a single collection. Using this you can isolate each user's data, and avoid creating separate collections for each user. In order to ensure indexing performance, Qdrant also offers ways to bypass the construction of a global vector index, so that you can index vectors for each user independently. +**Multitenancy**: Qdrant supports [multitenancy](/documentation/manage-data/multitenancy/) by allowing vectors to be partitioned by payload within a single collection. Using this you can isolate each user's data, and avoid creating separate collections for each user. In order to ensure indexing performance, Qdrant also offers ways to bypass the construction of a global vector index, so that you can index vectors for each user independently. **IO Optimizations**: If your data doesn’t fit into the memory, it may require storing on disk. To [optimize disk IO performance](/articles/io_uring/), Qdrant offers io_uring based *async uring* storage backend on Linux-based systems. Benchmarks show that it drastically helps reduce operating system overhead from disk IO. @@ -211,7 +211,7 @@ We have just about witnessed the tip of the iceberg in terms of what vector simi Ready to implement vector similarity in your AI applications? Explore Qdrant's vector database to enhance your data retrieval and AI capabilities. For additional resources and documentation, visit: -- [Quick Start Guide](/documentation/quick-start/) +- [Quick Start Guide](/documentation/quickstart/) - [Documentation](/documentation/) We are always available on our [Discord channel](https://qdrant.to/discord) to answer any questions you might have. You can also sign up for our [newsletter](/subscribe/) to stay ahead of the curve. diff --git a/qdrant-landing/content/course/_index.md b/qdrant-landing/content/course/_index.md index b98f63ab8..d3ed30a61 100644 --- a/qdrant-landing/content/course/_index.md +++ b/qdrant-landing/content/course/_index.md @@ -1,5 +1,5 @@ --- -title: "Welcome to Qdrant Academy" +title: "Qdrant Academy" description: Master vector search and AI-powered applications with Qdrant Academy. Free, self-paced courses guide you from beginner to expert with hands-on projects, code notebooks, and certification. weight: 50 --- @@ -12,13 +12,11 @@ Qdrant Academy is your step-by-step learning hub for mastering vector search, hy Whether you’re new to Qdrant or building production-grade systems, our guided courses help you go from beginner to expert, one module at a time. -Qdrant Academy currently offers one comprehensive course, but more are on the way! Register your interest for upcoming courses below, or take the available course and [get certified](https://train.qdrant.dev)! - ## Available Now -{{< course-card +{{< course-card title="Qdrant Essentials Course" - image="/icons/outline/rocket-white-light.svg" + image="/icons/outline/rocket-white-light.svg" link="/course/essentials/" >}} **What you’ll gain:** @@ -30,7 +28,24 @@ Qdrant Academy currently offers one comprehensive course, but more are on the wa - Ecosystem Integrations (Bonus)
Time to Complete: 9-12 hours
-Includes: videos, code notebooks, projects, walkthroughs +Includes: videos, code notebooks, projects, certification +{{< /course-card >}} + +{{< course-card + title="Multi-Vector Search Course" + image="/icons/outline/similarity-blue.svg" + link="/course/multi-vector-search/" +>}} +**What you’ll gain:** +- Late Interaction Models and MaxSim Scoring +- ColBERT for Text Search +- ColPali for Visual Document Search +- Multi-Stage Retrieval Pipelines +- Quantization and Pooling Techniques +- MUVERA Indexing for Large-Scale Search +
+Time to Complete: 4-6 hours
+Includes: videos, code notebooks, projects, certification {{< /course-card >}} ## Upcoming Courses diff --git a/qdrant-landing/content/course/essentials/_index.md b/qdrant-landing/content/course/essentials/_index.md index 71604f51d..0190cbc98 100644 --- a/qdrant-landing/content/course/essentials/_index.md +++ b/qdrant-landing/content/course/essentials/_index.md @@ -175,7 +175,7 @@ Build the vector search skills that matter: hybrid retrieval, multivector rerank - ML Platforms & Analytics (Tensorlake, Vectorize.io, Superlinked, Quotient)
- + {{< /accordion >}} diff --git a/qdrant-landing/content/course/essentials/certification/_index.md b/qdrant-landing/content/course/essentials/certification/_index.md index 2c282e524..73ce12ec7 100644 --- a/qdrant-landing/content/course/essentials/certification/_index.md +++ b/qdrant-landing/content/course/essentials/certification/_index.md @@ -1,6 +1,7 @@ --- title: "Qdrant Essentials Certification" description: Get officially certified by Qdrant today! +isLesson: true weight: 100 --- diff --git a/qdrant-landing/content/course/essentials/day-0/building-simple-vector-search.md b/qdrant-landing/content/course/essentials/day-0/building-simple-vector-search.md index 2385813c6..4c02d3e7d 100644 --- a/qdrant-landing/content/course/essentials/day-0/building-simple-vector-search.md +++ b/qdrant-landing/content/course/essentials/day-0/building-simple-vector-search.md @@ -2,6 +2,7 @@ title: "Implementing a Basic Vector Search" description: Learn how to build a basic vector search in Qdrant. Create collections, insert vectors, and run your first similarity search step-by-step with Python. weight: 3 +isLesson: true --- {{< date >}} Day 0 {{< /date >}} @@ -54,7 +55,7 @@ client = QdrantClient(url=os.getenv("QDRANT_URL"), api_key=os.getenv("QDRANT_API ## Step 4: Create a Collection -A [collection](/documentation/concepts/collections/) in Qdrant is like a table in relational databases - a container for storing vectors and their metadata. When creating a collection, specify: +A [collection](/documentation/manage-data/collections/) in Qdrant is like a table in relational databases - a container for storing vectors and their metadata. When creating a collection, specify: - **Name**: A unique identifier for the collection - **Vector Configuration**: @@ -77,7 +78,7 @@ client.create_collection( Expected output: `True` (indicating successful creation) -**Distance metrics explained** ([learn more](/documentation/concepts/collections/#distance-metrics)): +**Distance metrics explained** ([learn more](/documentation/manage-data/collections/#distance-metrics)): - **Euclidean**: Measures straight-line distance between points in space - **Cosine**: Measures the angle between vectors, focusing on orientation rather than magnitude - **Dot**: Measures the dot product of vectors, capturing both magnitude and direction @@ -96,7 +97,7 @@ The `get_collections()` method returns all collections in your Qdrant instance, ## Step 6: Insert Points into the Collection -[Points](/documentation/concepts/points/) are the core data entities in Qdrant. Each point contains: +[Points](/documentation/manage-data/points/) are the core data entities in Qdrant. Each point contains: - **ID**: A unique identifier - **Vector Data**: An array of numerical values representing the data point in vector space diff --git a/qdrant-landing/content/course/essentials/day-0/pitstop-project.md b/qdrant-landing/content/course/essentials/day-0/pitstop-project.md index 15bce0c75..c1b76f962 100644 --- a/qdrant-landing/content/course/essentials/day-0/pitstop-project.md +++ b/qdrant-landing/content/course/essentials/day-0/pitstop-project.md @@ -2,6 +2,7 @@ title: "Project: Building Your First Vector Search System" description: Apply your Qdrant skills to build a complete vector search system. Create collections, insert data, run similarity and filtered searches, and share your results. weight: 4 +isLesson: true --- {{< date >}} Day 0 {{< /date >}} diff --git a/qdrant-landing/content/course/essentials/day-0/qdrant-cloud.md b/qdrant-landing/content/course/essentials/day-0/qdrant-cloud.md index be143d6d3..f8cea980b 100644 --- a/qdrant-landing/content/course/essentials/day-0/qdrant-cloud.md +++ b/qdrant-landing/content/course/essentials/day-0/qdrant-cloud.md @@ -2,6 +2,7 @@ title: "Qdrant Setup" description: Set up your Qdrant Cloud cluster in minutes. Learn to create collections, manage data, access the Web UI, and connect securely from Python. weight: 2 +isLesson: true --- {{< date >}} Day 0 {{< /date >}} @@ -84,7 +85,7 @@ you’ll get a detailed view with these tabs: * **Search Quality Tab**: Evaluate and benchmark retrieval precision against ground truth. Tune parameters and measure the impact on accuracy. -* **Snapshots Tab**: Manage backups for this collection. Create a [snapshot](/documentation/concepts/snapshots/), restore it later, or migrate it to another cluster. +* **Snapshots Tab**: Manage backups for this collection. Create a [snapshot](/documentation/operations/snapshots/), restore it later, or migrate it to another cluster. * **Visualize Tab**: Explore your vector space with an interactive 2D projection. See clusters, spot outliers, and build intuition about your embeddings. diff --git a/qdrant-landing/content/course/essentials/day-1/chunking-strategies.md b/qdrant-landing/content/course/essentials/day-1/chunking-strategies.md index 229bc4ae1..fc79b646d 100644 --- a/qdrant-landing/content/course/essentials/day-1/chunking-strategies.md +++ b/qdrant-landing/content/course/essentials/day-1/chunking-strategies.md @@ -2,6 +2,7 @@ title: "Text Chunking Strategies" description: Learn how to split text into meaningful chunks for vector search. Compare six chunking strategies and discover how metadata improves retrieval precision in Qdrant. weight: 4 +isLesson: true --- {{< date >}} Day 1 {{< /date >}} @@ -54,7 +55,7 @@ This is where chunking comes in. The goal is to have chunks By breaking a document into focused chunks, each chunk gets its own vector that accurately represents a specific idea. This allows the search to be far more precise. -**Example:** Consider a multi-page Document like the [Qdrant Collection Configuration Guide of Day 7](/course/essentials/day-7/collection-configuration-guide/) covering everything from HNSW to sharding and quantization. +**Example:** Consider a multi-page Document like the [Qdrant Collection Configuration Guide of Day 7](/course/essentials/day-7/) covering everything from HNSW to sharding and quantization. If a user asks: *"What does the m parameter do?"* @@ -419,7 +420,7 @@ The trade-off is computational cost. You're embedding the full document upfront | **Recursive** | Flexible, handles messy input | Heuristic, sometimes brittle | Scraped web content, mixed sources | | **Semantic** | High-quality, meaning-aware | Slower, resource-intensive | Legal, research, critical QA | -**Note**: Sometimes, it's necessary to keep the document intact. If chunking is too complicated, or the document is visually rich (diagrams, graphs etc.), you can use [VLMs](/documentation/advanced-tutorials/pdf-retrieval-at-scale/) to embed the whole page. +**Note**: Sometimes, it's necessary to keep the document intact. If chunking is too complicated, or the document is visually rich (diagrams, graphs etc.), you can use [VLMs](/documentation/tutorials-search-engineering/pdf-retrieval-at-scale/) to embed the whole page. ## Adding Meaning with Metadata @@ -438,7 +439,7 @@ In Qdrant, this metadata lives in the **payload** - a JSON object attached to ea "section_title": "What Is a Vector", "chunk_index": 7, "chunk_count": 15, - "url": "https://qdrant.tech/documentation/concepts/collections/", + "url": "https://qdrant.tech/documentation/manage-data/collections/", "tags": ["qdrant", "vector search", "point", "vector", "payload"], "source_type": "documentation", "created_at": "2025-01-15T10:00:00Z", @@ -450,7 +451,7 @@ In Qdrant, this metadata lives in the **payload** - a JSON object attached to ea ### What Metadata Enables -**Disclaimer**: For performance reasons, filterable fields must be indexed using the [Payload Index](/documentation/concepts/indexing/#payload-index). +**Disclaimer**: For performance reasons, filterable fields must be indexed using the [Payload Index](/documentation/manage-data/indexing/#payload-index). **1. Filtered Search (Exact Match)** You can filter results based on exact metadata values, which is perfect for categorical data. @@ -468,7 +469,7 @@ filter = models.Filter( ``` **2. Hybrid Search with Text Filtering (Full-Text Search)** -For more powerful text-based filtering, you can combine vector search with traditional keyword search. This requires setting up a [full-text index](/documentation/concepts/indexing/#full-text-index) on a payload field. +For more powerful text-based filtering, you can combine vector search with traditional keyword search. This requires setting up a [full-text index](/documentation/manage-data/indexing/#full-text-index) on a payload field. ```python # Find vectors that also contain the keyword "HNSW" in their content filter = models.Filter( @@ -486,13 +487,13 @@ filter = models.Filter( # Top result per document - get the most relevant chunk from each source group_by = "document_id" ``` -You can read more about grouping [here](/documentation/concepts/hybrid-queries/?q=grouping#grouping). +You can read more about grouping [here](/documentation/search/hybrid-queries/?q=grouping#grouping). **4. Rich Result Display** - Original content with source attribution - Section context for better understanding - Direct links to full documents -- Creation timestamps for [freshness](/documentation/concepts/search-relevance/#time-based-score-boosting) +- Creation timestamps for [freshness](/documentation/search/search-relevance/#time-based-score-boosting) **5. Permission Control** ```python diff --git a/qdrant-landing/content/course/essentials/day-1/distance-metrics.md b/qdrant-landing/content/course/essentials/day-1/distance-metrics.md index 56e7615f4..e8ff7847c 100644 --- a/qdrant-landing/content/course/essentials/day-1/distance-metrics.md +++ b/qdrant-landing/content/course/essentials/day-1/distance-metrics.md @@ -2,13 +2,14 @@ title: "Distance Metrics" description: Learn how distance metrics like cosine, Euclidean, Manhattan, and dot product shape vector similarity in Qdrant. Discover which metric fits your data and use case. weight: 3 +isLesson: true --- {{< date >}} Day 1 {{< /date >}} # Distance Metrics -After vectors are stored, we can use their spatial properties to perform [nearest neighbor searches](/documentation/concepts/search/) that retrieve semantically similar items based on how close they are in this space. +After vectors are stored, we can use their spatial properties to perform [nearest neighbor searches](/documentation/search/search/) that retrieve semantically similar items based on how close they are in this space. The position of a vector in embedding space only reflects meaning as far as the embedding model has learned to encode it. The model and its training objective tell you what "close" means. @@ -165,4 +166,4 @@ If you are training your own model or designing custom features, use these guide * **Dot product** accounts for magnitude and direction. 4. **Experiment:** Qdrant allows you to set distance metrics per named vector, making it easy to A/B test different metrics on your specific data. -Reference: [Distance Metrics in Qdrant Documentation](/documentation/concepts/search/#metrics) \ No newline at end of file +Reference: [Distance Metrics in Qdrant Documentation](/documentation/search/search/#metrics) \ No newline at end of file diff --git a/qdrant-landing/content/course/essentials/day-1/embedding-models.md b/qdrant-landing/content/course/essentials/day-1/embedding-models.md index 078ba2a21..ba7fbcb5a 100644 --- a/qdrant-landing/content/course/essentials/day-1/embedding-models.md +++ b/qdrant-landing/content/course/essentials/day-1/embedding-models.md @@ -2,6 +2,7 @@ title: "Points, Vectors and Payloads" description: Learn Qdrant’s core data model with points, vectors, payloads, and named vectors. Compare dense, sparse, and multivectors, understand dimensionality trade-offs, and master filtering with payload indexes for precise retrieval. weight: 2 +isLesson: true --- {{< date >}} Day 1 {{< /date >}} @@ -81,7 +82,7 @@ The `indices` and `values` arrays must be the same size, and all the `indices` m There is no need to sort the sparse representation by indices, as Qdrant will perform this internally while maintaining the correct link between each index and its value. -We will cover more about sparse vectors on day 3. If you would like to read up on the subject in advance, you can find more documentation [here](/documentation/concepts/vectors/#sparse-vectors). +We will cover more about sparse vectors on day 3. If you would like to read up on the subject in advance, you can find more documentation [here](/documentation/manage-data/vectors/#sparse-vectors). ### Multivectors @@ -233,7 +234,7 @@ While vectors capture the essence of data, payloads hold structured metadata for Payloads can store textual data (descriptions, tags, categories), numerical values (dates, prices, ratings), and complex structures (nested objects, arrays). When searching for dog images, for example, the vector finds visually similar images while payload filters narrow results to images taken within the last year, tagged with "vacation," or meeting specific rating criteria. -Learn more: [Payload Documentation](/documentation/concepts/payload/) +Learn more: [Payload Documentation](/documentation/manage-data/payload/) ### Payload Types @@ -303,7 +304,7 @@ Here are some of the most common condition types: +For the complete, most up-to-date list of all available filtering conditions, please refer to the **[official Filtering documentation](/documentation/search/filtering/#filtering-conditions)**. ### Filtering Capabilities Reference @@ -381,7 +382,7 @@ client.create_payload_index( When filters are highly selective, Qdrant's query planner may bypass vector indexing entirely and use payload indexes for faster results. -For comprehensive filtering examples and advanced usage patterns, see the [Filtering Documentation](/documentation/concepts/filtering/) and [Complete Guide to Filtering in Vector Search](/articles/vector-search-filtering/). +For comprehensive filtering examples and advanced usage patterns, see the [Filtering Documentation](/documentation/search/filtering/) and [Complete Guide to Filtering in Vector Search](/articles/vector-search-filtering/). ## Key Takeaways diff --git a/qdrant-landing/content/course/essentials/day-1/movie-search-system.md b/qdrant-landing/content/course/essentials/day-1/movie-search-system.md index b092dfbe3..79bdc825c 100644 --- a/qdrant-landing/content/course/essentials/day-1/movie-search-system.md +++ b/qdrant-landing/content/course/essentials/day-1/movie-search-system.md @@ -2,6 +2,7 @@ title: "Demo: Semantic Movie Search" description: Build a semantic movie search with Qdrant. Compare chunking strategies, embed descriptions, and combine cosine similarity with metadata filters and grouping for accurate, theme-aware recommendations. weight: 5 +isLesson: true --- {{< date >}} Day 1 {{< /date >}} @@ -234,7 +235,7 @@ Query: 'alien invasion' ## Step 6: Advanced Features -Note: If you are already familiar Qdrant's filterable HNSW, you will know that effective filtering and grouping often relies on creating a [payload index](/documentation/concepts/indexing/#payload-index) before building HNSW indexes. To keep things simple in this tutorial, we will do a basic search with filters without payload indexes and talk about proper usage of payload indexes on [Day 2](/content/course/essentials/day-2/_index.md) of this course. +Note: If you are already familiar Qdrant's filterable HNSW, you will know that effective filtering and grouping often relies on creating a [payload index](/documentation/manage-data/indexing/#payload-index) before building HNSW indexes. To keep things simple in this tutorial, we will do a basic search with filters without payload indexes and talk about proper usage of payload indexes on [Day 2](/course/essentials/day-2/) of this course. ### Filtering by Metadata diff --git a/qdrant-landing/content/course/essentials/day-1/pitstop-project.md b/qdrant-landing/content/course/essentials/day-1/pitstop-project.md index 51c230f01..a9a9d6e60 100644 --- a/qdrant-landing/content/course/essentials/day-1/pitstop-project.md +++ b/qdrant-landing/content/course/essentials/day-1/pitstop-project.md @@ -2,6 +2,7 @@ title: "Project: Building a Semantic Search Engine" description: Build a semantic search engine with Qdrant. Compare chunking strategies, index embeddings, and query by meaning to discover what works best for your domain. weight: 6 +isLesson: true --- {{< date >}} Day 1 {{< /date >}} @@ -134,7 +135,7 @@ def paragraph_chunks(text): ### Step 4: Create Collections and Process Data -Note: If you are already familiar with Qdrant's filterable HNSW, you will know that effective filtering and grouping often relies on creating a [payload index](/documentation/concepts/indexing/#payload-index) before building HNSW indexes. To keep things simple in this tutorial, we will do a basic search with filters without payload indexes and talk about proper usage of payload indexes on [day 2](/content/course/essentials/day-2/_index.md) of this course. +Note: If you are already familiar with Qdrant's filterable HNSW, you will know that effective filtering and grouping often relies on creating a [payload index](/documentation/manage-data/indexing/#payload-index) before building HNSW indexes. To keep things simple in this tutorial, we will do a basic search with filters without payload indexes and talk about proper usage of payload indexes on [day 2](/course/essentials/day-2/) of this course. ```python collection_name = "day1_semantic_search" diff --git a/qdrant-landing/content/course/essentials/day-2/collection-tuning-demo.md b/qdrant-landing/content/course/essentials/day-2/collection-tuning-demo.md index 488c80103..314fea953 100644 --- a/qdrant-landing/content/course/essentials/day-2/collection-tuning-demo.md +++ b/qdrant-landing/content/course/essentials/day-2/collection-tuning-demo.md @@ -2,6 +2,7 @@ title: "Demo: HNSW Performance Tuning" description: Tune Qdrant’s HNSW index for speed and precision. Optimize bulk uploads, test filters, and benchmark performance on a real 100K OpenAI embedding dataset. weight: 4 +isLesson: true --- {{< date >}} Day 2 {{< /date >}} @@ -408,7 +409,7 @@ else: ## Step 10: Create Payload Indexes -Create a [full‑text index](/documentation/concepts/indexing/#full-text-index) for faster filtering. +Create a [full‑text index](/documentation/manage-data/indexing/#full-text-index) for faster filtering. ```python # Create a payload index for 'text' so filters use an index, not a scan. @@ -525,6 +526,6 @@ print("=" * 60) - [Qdrant Documentation](/documentation/) - Complete technical reference - [HNSW Paper](https://arxiv.org/abs/1603.09320) - Original algorithm research - [Qdrant Cloud](https://cloud.qdrant.io/) - Managed vector search service -- [Performance Tuning Guide](/documentation/guides/optimize/) - Advanced optimization techniques +- [Performance Tuning Guide](/documentation/operations/optimize/) - Advanced optimization techniques **Ready for the pitstop project?** Now it's your turn to optimize performance with your own dataset and use case. You'll apply these same techniques to your domain-specific data and measure the real-world impact of different HNSW parameters and indexing strategies. \ No newline at end of file diff --git a/qdrant-landing/content/course/essentials/day-2/filterable-hnsw.md b/qdrant-landing/content/course/essentials/day-2/filterable-hnsw.md index de12db27c..decae7327 100644 --- a/qdrant-landing/content/course/essentials/day-2/filterable-hnsw.md +++ b/qdrant-landing/content/course/essentials/day-2/filterable-hnsw.md @@ -2,13 +2,14 @@ title: "Combining Vector Search and Filtering" description: Learn how Qdrant combines HNSW vector search with payload filtering. Understand Filterable HNSW, query planning, and payload indexing for accurate, high-performance retrieval. weight: 3 +isLesson: true --- {{< date >}} Day 2 {{< /date >}} # Combining Vector Search and Filtering -We've talked about how Qdrant uses the [HNSW](/documentation/concepts/indexing/#filterable-index) graph to efficiently search dense vectors. But in real-world applications, you'll often want to constrain your search using filters. This creates unique challenges for graph traversal that Qdrant solves elegantly. +We've talked about how Qdrant uses the [HNSW](/documentation/manage-data/indexing/#filterable-index) graph to efficiently search dense vectors. But in real-world applications, you'll often want to constrain your search using filters. This creates unique challenges for graph traversal that Qdrant solves elegantly.-+
![]()