mirror of
https://github.com/qdrant/qdrant-client.git
synced 2026-09-27 00:17:36 -05:00
* fix(local): apply MMR offset to the re-ranked output, not the candidates Local mode passed `offset` to the candidate search inside `_search_with_mmr` and then returned the first `limit` MMR picks unsliced. That both hid the top `offset` nearest points from MMR and silently returned page 1 for every page request. Core plans MMR the other way around: the candidate `CoreSearchRequest` is built with `offset: 0` and `limit: candidates_limit`, the MMR rescore stage gets `limit + offset`, and the offset is cut off afterwards (lib/shard/src/query/planned_query.rs). Match that: search candidates with offset 0, re-rank `limit + offset` points, slice off the offset. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * tests: rephrase the comment, move tests to congruence --------- Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>