shyjsarah opened a new pull request, #840: URL: https://github.com/apache/paimon-rust/pull/840
## Summary Align Rust IVF search with Java by using the native automatic search width when `ivf.nprobe` is omitted. This lets filtered IVF searches progressively expand when the initial width underfills the requested top-k. ## Changes - Use `VectorSearchParams::automatic(top_k)` for IVF searches without an explicit `ivf.nprobe`. - Preserve explicit integer `ivf.nprobe` values as fixed-width `IvfNProbe` searches, including existing invalid-value validation. - Report `nprobe=auto` in vector-search diagnostics when automatic selection is active. - Document the automatic default and IVF progressive-expansion behavior. - Add a regression test covering both omitted and explicit `ivf.nprobe` branches. ## Public API impact No Rust API signatures change. Runtime behavior changes when an IVF query omits `ivf.nprobe`: search width is now selected automatically instead of defaulting to 16, which can change approximate result ordering, recall, and search cost. Explicit `ivf.nprobe` retains the previous fixed-width behavior. ## Testing - [x] RED on `apache/main`: `cargo test -p paimon prepare_ivf_search_uses_automatic_or_explicit_nprobe --lib -- --nocapture` failed as expected (`IvfNProbe` versus `Auto`). - [x] GREEN on this branch: the same command passed (`1 passed, 0 failed`). - [x] Full `paimon` library suite passed (`2794 passed, 0 failed, 2 ignored`). - [x] `cargo check -p paimon` - [x] `cargo fmt --check` - [x] `cargo clippy -p paimon --lib --no-deps -- -D warnings` ## Notes Full-workspace `cargo check` and Clippy were blocked locally because the available Python 3.9 interpreter does not satisfy the Python binding's `abi3-py310` requirement. The changed `paimon` crate checks passed. No issue link is available. -- 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]
