The AnchorJS link icon already updated the address bar; it now also
copies the absolute URL and shows a "Copied" toast at the bottom of
the screen.
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Each multivector field has a hard limit of rows * vector_size < 1,048,576
flattened float elements. This is not the same as the named-vector count,
which has no hard limit. The FAQ wording conflated the two, misleading
users of late-interaction models like ColBERT or ColPali variants.
Adds the size constraint and workarounds (pooling, chunking) in both the
FAQ and the Multivectors reference section.
Closesqdrant/qdrant#9408
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Add documentation for the slow request log
* Mention slow request log in FAQ and on the low latency search page
* Update frontmatter
* Add 'Available as of v1.16.0'
* Add beta notice
* Clarify tiered 1-shard limitation and update code snippets to show best practice
* Split write/read multitenancy section
* Use consistent example throughout the page
* Hide client initialization from all code snippets
* fix(docs): prevent iOS Safari from navigating on sidebar section tap
On iOS/iPadOS, tapping a collapsed section in the documentation sidebar
followed the <a> href inside the <summary> instead of toggling the
<details> element. This navigated away from the page and closed the
hamburger menu.
Added a click handler in documentation.js that intercepts the link tap
when the parent <details> is closed, preventing navigation and manually
expanding the section instead. Tapping an already-open section still
navigates to the section root page.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Fix issue where all clicks on a collapsed section header were intercepted, preventing navigation even when tapping the link text. Now only taps in the chevron zone (right-padding area of the link) trigger the toggle.
Wraps the title text in a <span> to mark the text boundary, then uses getBoundingClientRect() to compare the tap's X position against the span's right edge. This is more reliable than checking e.target, which iOS Safari inconsistently reports as the parent <a> for non-interactive child elements.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Add scroll-padding-top: 100px to html in core.scss so the browser
applies a top offset for all native hash-anchor scrolls (initial page
load, back/forward navigation). Matches the existing DOCS_HEADER_OFFSET
constant used by the JS scroll handler.
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* Make docs CTAs configurable
* Add custom CTAs to manage data and search docs pages
* Replace "card" with "payment" in collections page CTA
Qdrant Cloud also supports marketplace payments, not just card payments.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
* [1.19] Document language-neutral BM25 text processing (#2445)
* Break Inference page into several pages
* Edits
* Document short query optimization in Cloud Inference
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* [1.19] Document language-neutral BM25 text processing
Replaces the deprecated `language: "none"` workaround with the new explicit
API: `stemmer: {"type": "none"}` to disable stemming and `stopwords: {}`
(empty StopwordsSet) to disable stopword removal.
Updates the language-neutral snippet for all seven client languages and
refreshes the Stemming and Stopwords + Language-neutral sections in
text-search.md with a deprecation callout for the old approach.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Document that stemming and stopword removal are disabled by default for payload indexes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Edits
* The multilingual tokenizer doesn't do lemmatization
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* Document `max_disk_usage_percent` for Strict Mode (#2504)
* Document max_disc_usage_percent.
* Generate MD version for the snippets.
* Rephrase sentence.
* [1.19] Documentation for the Turbo4 datatype (#2517)
* Add 'turbo4' section to Vectors docs
* Edit existing datatypes sections
* Update outdated 'Vector Datatypes' section on the Collections page
* Edit
* Documentation for the slice filtering condition (#2529)
* [1.19] Documentation for per-query IDF statistics (#2526)
* Documentation for per-query IDF statistics
* Clarify that IDF is calculated per shard
* Review feedback
* Document `X-Qdrant-Route-Affinity` header for deterministic read routing (#2541)
* Document X-Qdrant-Route-Affinity header for deterministic read routing.
* Address feedback.
* Address feedback.
* Revert "Document `max_disk_usage_percent` for Strict Mode (#2504)" (#2582)
This reverts commit 460ee971ff.
* [1.19] Documentation for resource quotas (#2586)
Document the global quota API from qdrant/qdrant#10035, which replaces the
per-collection strict mode knobs for memory and disk with a single cluster-wide
quota.
New page, ops-configuration/quotas.md (weight 7, between Configuration and
Administration):
- Configuring quotas via storage.quotas, QDRANT__STORAGE__QUOTAS__* env vars,
and PUT /quotas, with the parameter reference
- Configuration precedence: the API wins once used anywhere in the cluster, and
a joining peer receives the config through consensus instead of reading its
own file
- What happens when a limit is reached: the full node's replica is excluded and
marked dead, the write still succeeds at write_consistency_factor
acknowledgements, and clients see HTTP 507 only when no replica can accept it
- Which operations stay allowed, the release margin, GET /quotas for finding the
full node, and the quota_exceeded metric plus the /telemetry quota field
Supporting changes:
- configuration.md: add the storage.quotas block
- monitoring.md: add quota_exceeded to Application Metrics, and note the
/telemetry quota field
- security.md: add get quotas and set quotas to the JWT access table
- common-errors.md: new Insufficient storage (HTTP 507) entry
- faq/qdrant-fundamentals.md: entry on writes rejected with HTTP 507
- administration.md: mark max_resident_memory_percent deprecated as of 1.19.0
- ops-configuration/_index.md: add the new page
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Test code snippets against 1.19
* Document prefix match filtering condition (#2512)
* Document prefix match filtering condition.
* Add generated files.
* Address feedback.
* Address feedback.
* [1.19] Remove links to docs for removed APIs (#2596)
* Remove links to docs for removed APIs
* Add links to new end endpoints
* Use title case for all headers
* [1.19] Add new 'Memory Tiers' page under 'Configuration' (#2510)
* Add new 'Memory Tiers' page under 'Configuration'
* Change doc structure
* Edits
* Review feedback
* [1.19] Memory tiers: existing page updates (#2535)
* Link Vector Storage section to Memory Tiers
* Update collections.md and hnsw-and-quantization snippet for Memory Tiers
* Update indexing.md for Memory Tiers, add sparse-vector-index default snippet
* Update quantization.md and its snippets for Memory
Tiers
* Update storage.md and its snippets for Memory Tiers
* Update configuration.md for Memory Tiers
* Update administration.md Low Memory Mode section for Memory Tiers
* Update optimize.md and its snippets for Memory Tiers
* Cross-link memory-usage.md fields to Memory Tiers
* Update read-write-contention.md RAM scaling note for Memory Tiers
* Update capacity-planning.md for Memory Tiers
* Update production-checklist.md storage section for Memory Tiers
* Update what-is-qdrant.md Storage bullet for Memory Tiers
* Update cloud-getting-started.md cost-optimization tip for Memory Tiers
* Update create-cluster.md disk sizing note for Memory Tiers
* Update bulk-upload.md Upload Directly to Disk section for Memory Tiers
* Note deprecated legacy params in large-scale-search.md benchmark config
* Fix missed Update Vector Parameters section and sparse-index description for Memory Tiers
* Release blog for v1.19 (#2553)
* Initial commit
* Review feedback
* Add 'Resharding Progress' section to Web UI Enhacements
* Add preview images
* Add missing section image
* Added link to Qdrant Advisor agent skill
* Add links; small edits
* Remove max_disk_usage_percent entry
* Add Resource Quotas entry
* Update release date
* Fix create-payload-index/keyword-with-prefix/rust.rs issue
* Fix create-collection/with-memory-tiers/csharp.cs issue
* Don't publish the blog post yet
* Remove blog post from this PR
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: István Zoltán Szabó <istvan.zoltan.szabo@qdrant.com>
* Auto-render llms.txt file
* Link to llms.txt from every index.md page
* Remove outdated llms-full.txt
* Link to skills and search from Markdownified page headers
* Add new Scaling landing page under Operations
Introduces a Scaling section with vertical vs. horizontal scaling
guidance and failover best practices, linking out to detail pages.
* Add new Vertical Scaling page
Dedicated how-to guidance for resizing existing nodes: when to scale
vertically, RAM sizing formulas, and Cloud/self-hosted resize steps.
* Add new Horizontal Scaling and Resilience page
Covers Raft consensus, the replication model, consistency guarantees,
Multi-AZ, and the resilience terminology used elsewhere in the docs.
* Move Distributed Deployment under Scaling and update all incoming links
Moves distributed_deployment.md into the new scaling/ section, trims
its Raft/Replication/Consistency intros into cross-links to the new
Horizontal Scaling and Resilience page, adds Multi-AZ and single-replica
cross-link callouts in the Cloud docs, rewrites all internal references
across ~30 files to the new canonical path instead of relying on
aliases, and applies Title Case to Distributed Deployment's headers.
* Split Resilience out of Horizontal Scaling and Resilience
Adds a dedicated Resilience page covering fault tolerance, Multi-AZ,
resilience terminology, and failover best practices (moved from the
Scaling landing page). Horizontal Scaling is retitled and scoped to
the underlying mechanics: Raft consensus, replication, and consistency.
* Reorganize Horizontal Scaling's structure
Moves "How Many Qdrant Nodes Should I Run?" from Distributed Deployment
into Horizontal Scaling, adds a conceptual Sharding section, and
reorders Sharding/Replication/Raft Consensus/Consistency. Moves the
remaining conceptual content out of Distributed Deployment: Temporary
Node Failure to Resilience, Error Handling folded into Replication,
sharding heuristics folded into Sharding, and the Consensus
Checkpointing explanation folded into Raft Consensus.
* Rename Scaling section to Scaling & Resilience
Renames the section and restructures the landing page: the vertical-
vs-horizontal decision is now purely about scaling, with a dedicated
Resilience section covering fault tolerance through sharding and
multi-node deployments.
* Polish Vertical Scaling and Resilience page content
Reframes Vertical Scaling's "What Not to Do" as positive "Best
Practices". Reworks Resilience's structure: moves the uptime/data-
integrity terminology into the intro as three distinct aspects of
resilience, and renames "How Resilience Works" to "Setting Up a
Resilient Qdrant Cluster".
* Add diagrams illustrating sharding and replication
Adds cluster diagrams to the Sharding and Replication sections on
Horizontal Scaling to make the shard/replica layout easier to follow.
* Add new Node Failure Recovery page
Extracts the node failure recovery scenarios out of Distributed
Deployment into their own page, with each bolded sub-header converted
to a proper heading, and links updated across Resilience and the
Scaling landing page.
* Add new Consistency Guarantees page
Extracts write consistency factor, read consistency, and write
ordering out of Distributed Deployment into their own page, positioned
after Distributed Deployment.
* Add new "Deploy Behind a Load Balancer" section
Explains why a load balancer is needed in front of a multi-node
Qdrant cluster: avoiding a single point of failure at the entry point
and making sure replicas on every node actually serve reads.
* Add new "Rebalancing" section
Documents how Qdrant Cloud automatically rebalances shards across
nodes, as its own subsection under Sharding.
* Rewrite Multi-AZ vs. Replication Factor as Multi-AZ Deployments
Defines an availability zone on first use, explains why multi-AZ
deployments guard against a zone going down, clarifies that Qdrant
Cloud is zone-aware once enabled, and that self-hosted deployments
need to place and move replicas across zones manually.
* Restructure node-count guidance into One/Two/Three-or-more Node subsections
Splits "How Many Qdrant Nodes Should I Run?" into three subsections
and drops the "balanced" framing for two nodes: it states plainly
that two nodes give more capacity without true high availability.
* Add new "Which Configuration Is Right for You?" section
Summarizes the one/two/three-or-more node tradeoffs in one place
right after the detailed breakdown.
* Add explicit _redirects entry for legacy distributed_deployment URL
Closes the redirect chain: the existing /guides/ and /operations/
legacy rules both terminate at /documentation/distributed_deployment/,
which previously had no explicit _redirects entry and only resolved
via the Hugo alias meta-refresh page.
* Fix all incoming links to Distributed Deployment and pages under Scaling
Repoints two same-page anchors in distributed_deployment.md that broke
when Write Ordering moved to Consistency Guarantees, and one link in
cloud/create-cluster.md that broke when a Resilience heading was
reworded.
* Update time-based sharding diagram and restructure section
* Fix a couple of broken links
* Move 'Consensus Checkpointing' to 'Node Failure Recovery' page
Adds a step-by-step tutorial for setting up the Datadog Operator and Agent
to scrape Qdrant metrics via OpenMetrics in Kubernetes-based Hybrid Cloud
and Private Cloud deployments, and links it from the section index and the
operations tutorials table.
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Ingress proxies are migrating from Traefik to Envoy across cluster regions, so the traefik_service_* metrics on /sys_metrics are being replaced by envoy_cluster_upstream_*. Latency metrics also switch from seconds to milliseconds.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
* Add 'Stable Ordering' section to 'Pagination' section
* Add FAQ entry
* Small edits to the Pagination section
* Apply title case to all headers on page
* Small edit
* Allow rust code snippets to start with a comment line
* Include imports in Edge Rust snippets
* Add import per code block; use fqn when class name is ambiguous
* Increase maximum side navigation depth by one
* Break up Text Search guide into multiple pages
* Update links to Text Search guide
* Broken link
* One more broken link
* One more broken link
* Shorten title
* Break Inference page into several pages
* Make all inference code snippets testable and clean up
* Make more snippets testable
* Edits
* Document automatic query and passage prefix injection in Cloud Inference
Qdrant Cloud Inference silently applies model-specific prefixes (e.g.
"query: "/"passage: " for E5, BGE-style instruction prefix for BGE/mxbai/
Snowflake arctic-embed) so users don't need to manage them manually.
Add a section explaining this behavior, the idempotency guarantee, and
the scope (Qdrant-hosted models only; external providers handle their own).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Document short query optimization in Cloud Inference
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Update links
* Expand on external provider API key usage
* Add section about external provider API keys
* Default to header for external API keys
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* Add migration and recovery options comparison page
Adds a new deploy-section page comparing the three data movement
options (migration tool, snapshots, cloud backups) across use case,
performance, operations, infrastructure limits, and resource
requirements — including the 2× RAM/disk headroom rule.
Closes#47
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Added 2× RAM and disk headroom warning for migration scenarios to other docs
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Edits
* Review feedback
* Review feedback
* Review feedback
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix: correct typos and grammar in points documentation
Fix capitalization of "Qdrant", missing articles, subject-verb agreement,
plural agreement, a wrong noun ("vectors" → "points"), and several
awkward phrasings throughout the page.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix: convert all headings to title case in points documentation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs(edge): add "Modify the Vector Schema" step to quickstart
Documents the new Edge 0.7 API for adding and removing named vector
fields on an existing shard without recreating it, with Python and
Rust snippets.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs(edge): mention quantization support in quickstart
Adds a note after the EdgeConfig snippet that Edge supports all four
quantization methods (Scalar, Product, Binary, TurboQuant), with a
link to the quantization guide.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs(edge): add On-Device BM25 page for Edge 0.7
New guide covering the built-in BM25 sparse embedder: configuring a
sparse vector shard, creating a Bm25/EdgeBm25 embedder, embedding and
upserting documents, and querying. Includes Python and Rust snippets.
Also adds the page to the Edge index navigation table.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs(edge): add WAL segment size configuration to quickstart
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Upgrade code snippets to Edge 0.7.2
* Review feedback
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* Initial commit
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Edits
* Edits
* Fix links
* Use 'true' instead of '1' in QDRANT__SERVICE__ENABLE_TLS example
* Review feedback
* Add link from Security page
* Update stack designation on overview page
* Update qdrant-landing/content/documentation/tutorials-operations/secure-qdrant.md
Co-authored-by: István Zoltán Szabó <szabosteve@gmail.com>
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: István Zoltán Szabó <szabosteve@gmail.com>
* Rewrite security page intro to be feature-forward
Replaces the generic opening paragraph with one that names each security
feature (API key auth, read-only keys, JWT RBAC, network binding, TLS,
audit logging) and links directly to their sections, so scanning readers
see the full capability surface before hitting the warning block.
Also updates the checklist items to surface read-only keys and JWT RBAC
as explicit options under Authentication.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Add Security FAQ section to Qdrant Fundamentals
Adds three new Q&A entries covering default security posture, read-only
API keys, and JWT collection-scoped access control — the exact questions
users ask in Discord. Also adds Security to the page nav table and fixes
the heading depth on the collection-per-user entry (## → ###).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Add Security section to production checklist
Inserts a new section 2 covering the five key security steps — API key
auth, read-only keys, JWT access control, TLS, and network binding —
with direct links to the Security page. Renumbers existing sections
2–4 to 3–5. Closes the gap where a user following the checklist
step-by-step could go to production with an open, unauthenticated instance.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Link production checklist from both quickstart pages
Adds a production checklist callout to the "Next Steps" section of the
local quickstart and a bullet to the "What's Next?" section of the cloud
quickstart, so users completing either tutorial have a clear path to
production readiness.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Make code snippets testable
* Lead Security page by listing all the features; Rename API keys->Admin API keys, and 'Granular Access Control with JWT' section into 'Granular Access API Keys'
* Update links
* Update meta description
* Fix C# snippet
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* Add TurboQuant quantization documentation (v1.18.0)
Adds a new TurboQuant section to the quantization guide covering the
four encoding options (bits1/bits1_5/bits2/bits4), automatic asymmetric
quantization, distance metric support, and the automatic TQ+ precision
enhancement for sealed segments. Updates the comparison table and
method-selection guidance to recommend TurboQuant over Binary and
Scalar Quantization for new collections. Adds HTTP-only snippets for
basic setup and explicit bit-depth selection.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Consistently use title case for headers
* Restructure doc to lead with TurboQuant
* Clarify rescoring
* Edits
* Soften TQ advice
* Updates
* Fix
* Apply suggestions from code review
Co-authored-by: Jojii <15957865+JojiiOfficial@users.noreply.github.com>
* Review feedback
* Add Go/Java/C# code snippets
* Add list of 4 quantization methods to introduction
* Review feedback
* Stronger advice for TQ4
* Add Python snippets
* Add Rust snippets
* Add TS snippets
* Update recommendation table
* Update production checklist
* Remove link to article
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Jojii <15957865+JojiiOfficial@users.noreply.github.com>
* Update FAQ
* Fix links
* One more link
* Apply suggestions from code review
Co-authored-by: Tim Visée <tim+github@visee.me>
---------
Co-authored-by: Tim Visée <tim+github@visee.me>
* Document per-collection API metrics (v1.18.0)
Add a footnote to rest_responses_total and grpc_responses_total in the
metrics table and a new "Per-Collection API Metrics" subsection explaining
the ?per_collection=true query parameter added in qdrant/qdrant#8214.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Consistently use title case
* Review feedback
* Edit
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* Document 7 missing strict_mode_config parameters
Adds documentation sections and code snippets (Python, TypeScript, Rust,
Go, Java, C#, HTTP, bash) for search_allow_exact, search_max_hnsw_ef,
search_max_oversampling, search_max_batchsize, max_resident_memory_percent,
multivector_config, and sparse_config.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Use title case for all headers
* Update qdrant-landing/content/documentation/ops-configuration/administration.md
Co-authored-by: Tim Visée <tim@visee.me>
* Mention default strict mode on Cloud; Clarify behavior of only setting enabled=true
* Apply suggestion from @timvisee
Co-authored-by: Tim Visée <tim@visee.me>
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Tim Visée <tim@visee.me>
* Add Monitor Collection Memory Usage page (v1.18.0)
New page in Monitoring & Telemetry documenting the Web UI Memory tab and
the GET /collections/{name}/memory API endpoint added in qdrant/qdrant#8606
and qdrant/qdrant-web-ui#372.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Update web-ui docs link
* Review feedback
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* Document low memory mode (v1.18.0)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Consistently use title case for all headers
* Update qdrant-landing/content/documentation/ops-configuration/administration.md
Co-authored-by: Tim Visée <tim@visee.me>
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Tim Visée <tim@visee.me>
* Document audit logging tracing ID support (v1.18.0)
Add a "Tracing IDs" subsection to the Audit Logging section of security.md,
and code snippets for all six client SDKs showing how to attach an
x-request-id header to requests so it appears in audit log entries.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Small edits
* Don't hide imports in Python snippet
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Clicking a language tab now switches all other code-snippet widgets on
the page to the same language, and the choice is saved to localStorage
so it is auto-applied on future page loads.
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* Add stronger wording about wait=true
* Position indexed_only and prevent_unoptimized as alternatives
* Review feedback
* Apply suggestions from code review
Co-authored-by: Tim Visée <tim+github@visee.me>
* Small edit
---------
Co-authored-by: Tim Visée <tim+github@visee.me>