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]

Reply via email to