* 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>
Address findings from a code-bot adversarial review of the hybrid-search
materials:
- `hybrid-formula-decay/` (all 7 language sources + http.md +
`_description.md`): wrap the decay term in `MultExpression(mult=[0.1, ...])`
in every language. Previously the snippets summed `$score` with
`ExpDecayExpression` directly, modeling the failure mode the docs
explicitly warn against (un-weighted decay crowds out small RRF scores).
Also document the `defaults` requirement and the recommended datetime
payload index in `_description.md`. Build validated across all 6 SDKs.
- `hybrid-rrf/go.go`: add `Limit: qdrant.PtrOf(uint64(20))` to both
prefetches so the Go snippet matches the other language tabs.
- `hybrid-queries.md`:
- Reframe the weighted-RRF intro to drop "semantic search model
understands meaning better than a simple keyword matcher". On
SciFact (the corpus in the companion notebook) BM25 actually beats
dense, so the universal claim was contradicted by our own data.
- Clarify that the notebook provides a tuning helper to adapt to a
train/val split, not that it demonstrates the split itself.
- Add a one-line note that Qdrant uses zero-based rank positions so
readers can verify the RRF formula against actual scores.
- Apply brand-voice fixes: Title Case on "Multi-Stage Queries" and
"Re-Scoring Examples", replace "all the above techniques" with
"all of these techniques".
`generated/*.md` regenerated via `./docker.sh ./generate-md.py`.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Replaces the older `FusionQuery(fusion=Fusion.RRF)` enum form with
`RrfQuery(rrf=Rrf())` across all language tabs (Python, TypeScript,
Rust, Go, Java, C#) plus the REST body in `http.md`, for both the
`hybrid-rrf/` snippet and the inner RRF prefetch inside
`hybrid-formula-decay/`. The newer dedicated `Rrf` message is the
recommended path going forward; the old enum stays supported for
backward compatibility. Server-side both forms converge to the same
`FusionInternal::Rrf { k: 2, weights: None }`, verified against the
qdrant/qdrant source.
`generated/*.md` files in both directories regenerated via
`./docker.sh ./generate-md.py`. `./docker.sh ./check.py build` passes
across all six SDKs.
Also softens the DBSF prose in hybrid-queries.md to drop the
"weighted RRF tends to win" framing. Neither method dominates the
other in general.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* fix(docs): correct C# MatchExcept snippet to use MatchExcept instead of Match
The C# code example in the match-except filter condition snippet was
incorrectly using Match() instead of MatchExcept(), making it identical
to the match-any example. This is misleading for developers trying to
implement the MatchExcept (NOT IN) filter condition in C#.
Fixes#1656
* Add Markdownified code snippet
---------
Co-authored-by: Abdon Pijpelink <abdon.pijpelink@qdrant.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>
Tutorial slugs now match their content:
- retrieval-quality/ -> ann-recall/ (alias preserves the old published path)
- retrieval-quality-golden-set/ -> retrieval-relevance/
- retrieval-quality-pipeline-output/ -> pipeline-output-quality/
Co-Authored-By: Claude Opus 4.7 (1M context) <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>
Splits the three retrieval-evaluation tutorials across two sections.
ANN Recall (Web UI, language-agnostic) stays under Search Engineering.
The two Python ecosystem tutorials (ranx, ragas) move to a new top-level
Improve Search section under the Ecosystem partition.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Recall@k is the standard metric for ANN benchmarks. Rename the
tutorial title, headings, helper function, and prose; update the
recent inline edits and merge sentence; and update cross-links from
the relevance and pipeline-output tutorials and the tutorials index.
Generic Precision@k mentions in the ranx metric list are unrelated
and left alone.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Aligns the layer-2 tutorial title with the parallel "Measuring X" /
"Evaluating X" pattern used by the other two and maps directly to the
four-layer framework. Slug stays the same to preserve URLs and the
golden-set artifact identity in the path. Also updates the nav descriptions
to reflect the tutorial's full scope (build + score, not just build).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The four-layer framework, metric-selection table, and business-impact
guidance now live inside the three execution tutorials. The fundamentals
page is no longer needed as a shared reference and readers don't have to
leave the tutorial flow to get context.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* 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>
- Update title, H1, and Time in retrieval-quality.md
(30 min -> 15 min reflects the pivot to Web UI)
- Rename references in tutorials-lp-overview.md and the headless
tutorial index; swap the pill from Python to Web UI to reflect
the new primary flow
- Replace "ANN recall" with "ANN precision" in Fundamentals
(4 places: intro, comparison note, ladder table, cross-link)
and in the golden-set tutorial's layer-1 cross-reference
- Filename kept as retrieval-quality.md so existing URLs and
aliases still work
Updates both search engineering index files (the headless partial and
the tutorials-lp overview) to list Retrieval Quality Fundamentals and
Building a Golden Query Set alongside the existing Retrieval Quality
Evaluation row. The Evaluation row is also retitled from "Measure
quality and tune HNSW parameters" to "Measure ANN recall and tune
HNSW parameters" to match the refactored page.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* initial commit; fixed anchor links on internal docs pages
* add back in absolute paths for links in code comments
* fix: update linkchecker include filter to match server port 1314
PR #1629 changed the Hugo server to port 1314 but forgot to update
the --include filter, which still matched port 1313. This caused all
links to be excluded, making the checker a no-op (0 checked, 82277 excluded).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Fix url rewrite regex so images are not impacted
* Fix links from non-documentation pages
* Fix broken links
* more broken links
* more broken links
* broken link
* Add srcset width descriptor to .lycheeignore
* Ignore URLs that contain a % character
* Anchor regex so it matches the entire URL
---------
Co-authored-by: kanungle <neil.kanungo@gmail.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Abdon Pijpelink <abdon.pijpelink@qdrant.com>