JingsongLi opened a new pull request, #1087: URL: https://github.com/apache/paimon-rust/pull/1087
## Summary Expose the existing Rust core vector-search pipeline to Python so PyPaimon can execute local searches without coordinating index evaluation, scalar filtering, raw scoring and refinement in Python. - Add single and batch vector builders, owned Scan/Plan/Read wrappers, scored search-result access and snapshot-scoped result materialization. Bindings delegate search and selection logic to Rust core. - Align repeated filter/options calls with Java accumulation and add explicit partition-only filters. Prune DE index manifest entries by the partition predicate. - Honor query metric options for raw DE scoring with Java's persisted-index/query/table/default precedence. Reject conflicting query metrics and mixed persisted shard metrics, including refinement after another shard was filtered out. Validation reuses already loaded index metadata. - Export scored PK selections with the Java SplitSerializer/IndexedSplit wire layout, preserve deletion metadata and mark selected PK splits non-raw, as Java does. - Update Python stubs and usage documentation. No dependency additions. ## Java references `VectorSearchBuilderImpl`, `BatchVectorSearchBuilderImpl`, `AbstractDataEvolutionVectorRead`, `PrimaryKeyScoredResult`, and `IndexedSplit` are the semantic references. Core already supports both DE and PK searches; this adds the Python surface and closes the gaps found during integration. ## Verification - `cargo test --locked -p paimon --lib vector_`: 341 passed. - `cargo test --locked -p paimon --lib table::source::tests`: 57 passed. - Python vector/read/table/resolved-table binding regression suites: 197 tests; the vector suite was rerun after correcting a test's assumption about tied hits from partition file publication. - Real PyPaimon REST integration covers single/batch, FAST/FULL/DETAIL, raw/indexed tails, partition and scalar filters, Java PK indexes, score export and mixed-metric rejection. - `cargo +1.98.0 clippy --locked --all-targets --workspace --features fulltext,vortex -- -D warnings` and pinned formatting check passed. The companion PyPaimon PR uses these bindings for existing local searches on REST tables. -- 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]
