JunRuiLee opened a new pull request, #526:
URL: https://github.com/apache/paimon-rust/pull/526

   > **Draft, stacked on #517.** This branch is based on #517 (`[core] Add 
primary-key vector read kernel`). Until #517 merges, the diff here includes 
#517's commits; it will shrink to the integration change once #517 lands and 
this is rebased.
   
   ### Purpose
   
   Wire the crate-private PK-vector read kernel (#517) into the first 
production caller: real snapshot / index-manifest planning, the public 
vector-search routing branch, real ANN + exact reader dependencies, and 
best-first row materialization. This is the read-side integration counterpart 
of Apache Paimon Java apache/paimon#8579 (`PrimaryKeyVectorScan` / 
`PrimaryKeyVectorRead`), without the residual scalar predicate 
(apache/paimon#8603) and refine/rerank (apache/paimon#8591), which are 
follow-ups.
   
   ### Brief change log
   
   - `spec/core_options.rs`: PK-vector index config options — columns / 
index-type / distance-metric accessors, with fail-loud validation.
   - `vindex/pkvector`: thread the ANN segment and 
`GlobalIndexSearchMode::Fast` skip through `bucket_search`; extend 
`BucketAnnSegment` with the resolved path / file size / index-meta the real ANN 
adapter needs.
   - `table/pk_vector_scan.rs`: `PkVectorScan` — snapshot-consistent 
`(partition, bucket)` planning plus index-manifest scan, producing 
`PkVectorSearchSplit`s.
   - `table/pk_vector_data_file_reader.rs`: real positional exact 
`PkVectorReader` over the data-file vector column.
   - `table/vector_search_builder.rs`: PK-vector routing branch in 
`execute_scored` / `execute_read`; real vindex ANN scorer; wires the 
orchestrator as the first production caller (removes the kernel's `dead_code` 
allowances).
   - `table/pk_vector_orchestrator.rs`: `search_candidates` returns 
bucket-tagged candidates; split-scoped exact-reader factory.
   
   ### Tests
   
   - `cargo test -p paimon` — synthetic unit/e2e coverage plus a narrow 
Java-written baseline fixture (`testdata/pkvector/baseline/`) read back 
end-to-end. `cargo fmt --all --check` and `cargo clippy -p paimon --lib --tests 
-- -D warnings` are clean.
   
   ### Out of scope (follow-ups)
   
   - Residual scalar `WHERE` predicate (apache/paimon#8603).
   - Refine / rerank (apache/paimon#8591).
   
   ### API and Format
   
   No storage-format change. Adds the public PK-vector search routing on the 
existing vector-search builder; no existing public API changes.
   


-- 
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