JingsongLi opened a new pull request, #31: URL: https://github.com/apache/paimon-vector-index/pull/31
## Summary Simplify the Java/JNI and Python vector index writer APIs to accept string options directly, matching the Paimon-style configuration surface. Rust now owns parsing and validation of those options before constructing the internal typed vector index config. ## Changes - Add `VectorIndexConfig::from_options` in the Rust core with canonical option keys and strict validation. - Replace Java writer construction with `VectorIndexWriter(Map<String, String>)` and pass option key/value arrays through JNI. - Remove the unpublished Java index-specific config classes and simplify metadata HNSW accessors to plain fields. - Replace Python config pyclasses with `VectorIndexWriter(dict)` and remove compatibility factory helpers. - Update README and Java/Python tests for the options-based API. ## Testing - [x] `cargo test --workspace` - [x] `cargo test --manifest-path python/Cargo.toml --no-default-features --features auto-initialize` - [x] `javac -source 8 -target 8 -d target/java-api-test $(find jni/java jni/java-test -name '*.java') && java -cp target/java-api-test org.apache.paimon.index.ivfpq.VectorIndexJavaApiTest` - [x] `cargo clippy --all-targets --workspace -- -D warnings` - [x] `cargo clippy --manifest-path python/Cargo.toml --no-default-features --features auto-initialize --all-targets -- -D warnings` - [x] `cargo build -p paimon-vindex-jni && java -cp target/java-api-test org.apache.paimon.index.ivfpq.VectorIndexNativePanicBoundaryTest "$(pwd)/target/debug/libpaimon_vindex_jni.dylib"` ## Notes This intentionally does not preserve compatibility with the previous config classes because the API has not been released yet. -- 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]
