Repository navigation
Send BM25 k and b in the nested params of qdrant#11012 - #186
Merged
Merged
Conversation
qdrant#11012 reserved TextQuery fields 2 and 3 and moved k/b into `scoring.bm25`. With the old client a current server drops them as unknown fields, so `kind: text` requests with k or b silently ran at the defaults. The client's TextQueryBuilder keeps its setters, so only the test changes. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
agourlay
marked this pull request as ready for review
October 12, 2026 13:20
generall
approved these changes
Oct 12, 2026
agourlay
added a commit
to agourlay/strawmann
that referenced
this pull request
Oct 12, 2026
qdrant#11012 nested TextQuery's k and b in `scoring.bm25` and reserved fields 2 and 3, which a current Qdrant drops as unknown, so the old client ran every W15 ladder row at 1.2 / 0.75 without an error. The pin moves with both clients (qdrant/bfb#186, qdrant/rust-client#301), and strawmANN's decoder reads Bm25Params and skips the reserved fields as Qdrant does. text-differ passes every tier on both engines on scifact, ArguAna, FiQA and Quora at the defaults and at 0.9 / 0.4 (T1 9.6e-7 at most). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
qdrant/qdrant#11012 reserved
TextQueryfields 2 and 3 (k,b) and moved them intooneof scoring { Bm25Params bm25 = 4; }. bfb's locked client (rust-client 71143d8) still sends the old fields, and a current server drops them as unknown, so akind: textrequest withkorbsilently runs at the defaults (1.2, 0.75). Requests without them are unaffected.The fix is the client: qdrant/rust-client#301 (merged) regenerates the proto, and
TextQueryBuilder::k/bkeep their signatures while fillingscoring.bm25. So bfb's request code is unchanged. Onlybuilds_a_text_requestchanges, to read k and b from the nested params.The dependency stays on
branch = "dev"; only the lock moves, to dev 637cee6 (rust-client#301 merged).Verification
cargo +nightly fmt --all -- --check,cargo clippy --workspace --all-targets --all-features -- -D warnings: clean.cargo test --workspace: 207 passed.devbfc0eab31 build) confirms thatkandbset through the builder change the scores.🤖 Generated with Claude Code