jerry-024 commented on PR #85:
URL: 
https://github.com/apache/paimon-vector-index/pull/85#issuecomment-5505837002

   Thanks for the detailed review. Addressed in `8c706af`.
   
   1. We are keeping automatic Vamana coarse assignment as an explicit 
build-speed/recall tradeoff rather than changing search-side list selection. 
All option-map APIs now accept `ivf.coarse-assignment=auto|exact`. `auto` 
preserves the thresholded Vamana behavior; `exact` disables the graph and 
restores exact nearest-centroid assignment. Rust config literals expose the 
same choice through `use_approximate_coarse_assignment`, and the four direct 
IVF index types expose `set_approximate_coarse_assignment(...)`. The API and 
per-index docs now state that automatic graph assignment may select a different 
list from exact search, can reduce recall at small `nprobe`, and does not 
guarantee self-recall at `nprobe=1`. A threshold-enabled regression test 
verifies that `exact` preserves self-recall with `d=256`, `nlist=4096`, and 
`nprobe=1`.
   2. Empty assignments now return before graph preparation, including the 
separate IVF-RQ preparation path. Small non-empty batches still pay the graph 
startup cost when automatic assignment is enabled; this is documented, and 
users can select `exact` to avoid it.
   3. `preprocess_vectors` now skips cosine chunking when `d == 0`, with 
coverage for both the serial and parallel thresholds.
   
   Verification: `cargo test --workspace` passed 496 tests with 2 ignored; 
`cargo clippy --workspace --all-targets -- -D warnings`, formatting, and `git 
diff --check` all passed.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to