ruvector/crates/ruvector-maxsim
rUv ca8224e0cd
feat(maxsim): add GraphMaxSim centroid-graph variant (salvaged from #622) (#623)
Adds a fourth MultiVecIndex variant to ruvector-maxsim: a greedy kNN graph
over per-document centroids + multi-seed beam search + exact MaxSim rerank.
Complements the token-level HnswMaxSim with a one-node-per-document graph.

Includes the consecutive-seeding correctness fix discovered in nightly PR
#622: step-based beam seeding collapses recall when the step is a multiple
of the cluster count. Documented in graph.rs and ADR-252.

#622 produced a duplicate ruvector-maxsim crate (the name was already taken
by #569, merged 2026-06-15); rather than merge the duplicate, its unique
value is salvaged here. The public research gist from #622 remains published.

- 5 new tests (recall vs Flat, dim validation, build/empty guards) — 23/23 pass
- cargo fmt clean, cargo clippy -D warnings clean
2026-06-29 10:47:01 -04:00
..
benches research: nightly 2026-06-15 — multi-vector MaxSim late interaction (#569) 2026-06-18 23:31:14 -04:00
src feat(maxsim): add GraphMaxSim centroid-graph variant (salvaged from #622) (#623) 2026-06-29 10:47:01 -04:00
Cargo.toml research: nightly 2026-06-15 — multi-vector MaxSim late interaction (#569) 2026-06-18 23:31:14 -04:00