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>
* 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>
* 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>
* Initial Rust snippets
* Update content for Rust
* Upgrade Rust to 1.94.0; test Edge code snippets against dev
* Temporarily test against Edge shim crate
* Move to EdgeShardConfig and EdgeVectorParams
* Add docs for payload indexing, filtering, facet(), and optimize()
* De-emphasize on-device use case
* Update link to Rust examples on Github
* Flattened API
* Switch to new/create and load to initialize shards
* Fixups for released packages
* Mention recover_partial_snapshot on method list
* Link to Github dev branch for examples
---------
Co-authored-by: xzfc <xzfcpw@gmail.com>
* Switch to insert-only mode instead of conditional upserts
* Make code snippets testable; use Cloud Inference
* Use regular upserts instead of batch_update_points
* Add snippets for TS, Rust, Java, C#, and Go
* Support generating multiple snippets from one source file
* Convert Python code snippets from one source file
* Add code snippets for C#, Go, Java, Rust and TS
* Make intro less Python-oriented
* Add client installation instructions for all languages
* Cleanup python code
---------
Co-authored-by: xzfc <xzfcpw@gmail.com>