This is an automated email from the ASF dual-hosted git repository.
JingsongLi pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/paimon-vector-index.git
The following commit(s) were added to refs/heads/main by this push:
new 9a6e09d Rename Java vector index package (#32)
9a6e09d is described below
commit 9a6e09d6587ef7d2b6336a425e8425ac5da2e15a
Author: Jingsong Lee <[email protected]>
AuthorDate: Wed Jun 10 23:31:24 2026 +0800
Rename Java vector index package (#32)
---
.github/workflows/ci.yml | 6 ++--
README.md | 16 ++++-----
java/pom.xml | 2 +-
.../paimon/index/{ivfpq => vector}/IndexType.java | 2 +-
.../paimon/index/{ivfpq => vector}/Metric.java | 2 +-
.../index/{ivfpq => vector}/VectorIndexInput.java | 2 +-
.../{ivfpq => vector}/VectorIndexMetadata.java | 2 +-
.../index/{ivfpq => vector}/VectorIndexNative.java | 2 +-
.../index/{ivfpq => vector}/VectorIndexReader.java | 2 +-
.../index/{ivfpq => vector}/VectorIndexWriter.java | 2 +-
.../{ivfpq => vector}/VectorSearchBatchResult.java | 2 +-
.../{ivfpq => vector}/VectorSearchResult.java | 2 +-
.../{ivfpq => vector}/VectorIndexJavaApiTest.java | 2 +-
.../VectorIndexNativeHandleSafetyTest.java | 2 +-
.../VectorIndexNativePanicBoundaryTest.java | 2 +-
.../VectorIndexNativeValidationTest.java | 2 +-
jni/src/lib.rs | 40 +++++++++++-----------
17 files changed, 45 insertions(+), 45 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 56ffb84..23b0801 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -112,11 +112,11 @@ jobs:
- name: Test JNI native behavior
run: |
- java -cp java/target/test-classes:java/target/classes
org.apache.paimon.index.ivfpq.VectorIndexNativeValidationTest \
+ java -cp java/target/test-classes:java/target/classes
org.apache.paimon.index.vector.VectorIndexNativeValidationTest \
"$(pwd)/target/release/libpaimon_vindex_jni.so"
- java -cp java/target/test-classes:java/target/classes
org.apache.paimon.index.ivfpq.VectorIndexNativePanicBoundaryTest \
+ java -cp java/target/test-classes:java/target/classes
org.apache.paimon.index.vector.VectorIndexNativePanicBoundaryTest \
"$(pwd)/target/release/libpaimon_vindex_jni.so"
- java -cp java/target/test-classes:java/target/classes
org.apache.paimon.index.ivfpq.VectorIndexNativeHandleSafetyTest \
+ java -cp java/target/test-classes:java/target/classes
org.apache.paimon.index.vector.VectorIndexNativeHandleSafetyTest \
"$(pwd)/target/release/libpaimon_vindex_jni.so"
python-build:
diff --git a/README.md b/README.md
index 56c588f..b4138e7 100644
--- a/README.md
+++ b/README.md
@@ -131,11 +131,11 @@ VectorIndexConfig::IvfHnswFlat {
import java.util.HashMap;
import java.util.Map;
-import org.apache.paimon.index.ivfpq.VectorIndexInput;
-import org.apache.paimon.index.ivfpq.VectorIndexMetadata;
-import org.apache.paimon.index.ivfpq.VectorIndexReader;
-import org.apache.paimon.index.ivfpq.VectorSearchResult;
-import org.apache.paimon.index.ivfpq.VectorIndexWriter;
+import org.apache.paimon.index.vector.VectorIndexInput;
+import org.apache.paimon.index.vector.VectorIndexMetadata;
+import org.apache.paimon.index.vector.VectorIndexReader;
+import org.apache.paimon.index.vector.VectorSearchResult;
+import org.apache.paimon.index.vector.VectorIndexWriter;
Map<String, String> options = new HashMap<>();
options.put("index.type", "ivf_hnsw_sq");
@@ -158,9 +158,9 @@ try (VectorIndexReader reader = new
VectorIndexReader(vectorIndexInput)) {
}
```
-The Java package currently remains `org.apache.paimon.index.ivfpq`, but the API
-surface uses string options so it maps directly to Paimon table/index
-properties. Rust parses and validates the options when the writer is created.
+The Java package is `org.apache.paimon.index.vector`, and the API surface uses
+string options so it maps directly to Paimon table/index properties. Rust
parses
+and validates the options when the writer is created.
### Python
diff --git a/java/pom.xml b/java/pom.xml
index f433ef2..d649d49 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -59,7 +59,7 @@
<goal>java</goal>
</goals>
<configuration>
-
<mainClass>org.apache.paimon.index.ivfpq.VectorIndexJavaApiTest</mainClass>
+
<mainClass>org.apache.paimon.index.vector.VectorIndexJavaApiTest</mainClass>
<classpathScope>test</classpathScope>
</configuration>
</execution>
diff --git a/java/src/main/java/org/apache/paimon/index/ivfpq/IndexType.java
b/java/src/main/java/org/apache/paimon/index/vector/IndexType.java
similarity index 97%
rename from java/src/main/java/org/apache/paimon/index/ivfpq/IndexType.java
rename to java/src/main/java/org/apache/paimon/index/vector/IndexType.java
index b61a387..0c801c0 100644
--- a/java/src/main/java/org/apache/paimon/index/ivfpq/IndexType.java
+++ b/java/src/main/java/org/apache/paimon/index/vector/IndexType.java
@@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.
-package org.apache.paimon.index.ivfpq;
+package org.apache.paimon.index.vector;
public enum IndexType {
IVF_FLAT(0),
diff --git a/java/src/main/java/org/apache/paimon/index/ivfpq/Metric.java
b/java/src/main/java/org/apache/paimon/index/vector/Metric.java
similarity index 96%
rename from java/src/main/java/org/apache/paimon/index/ivfpq/Metric.java
rename to java/src/main/java/org/apache/paimon/index/vector/Metric.java
index c31dbc2..f9db885 100644
--- a/java/src/main/java/org/apache/paimon/index/ivfpq/Metric.java
+++ b/java/src/main/java/org/apache/paimon/index/vector/Metric.java
@@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.
-package org.apache.paimon.index.ivfpq;
+package org.apache.paimon.index.vector;
public enum Metric {
L2(0),
diff --git
a/java/src/main/java/org/apache/paimon/index/ivfpq/VectorIndexInput.java
b/java/src/main/java/org/apache/paimon/index/vector/VectorIndexInput.java
similarity index 95%
rename from
java/src/main/java/org/apache/paimon/index/ivfpq/VectorIndexInput.java
rename to
java/src/main/java/org/apache/paimon/index/vector/VectorIndexInput.java
index 451c884..dca4430 100644
--- a/java/src/main/java/org/apache/paimon/index/ivfpq/VectorIndexInput.java
+++ b/java/src/main/java/org/apache/paimon/index/vector/VectorIndexInput.java
@@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.
-package org.apache.paimon.index.ivfpq;
+package org.apache.paimon.index.vector;
public interface VectorIndexInput {
diff --git
a/java/src/main/java/org/apache/paimon/index/ivfpq/VectorIndexMetadata.java
b/java/src/main/java/org/apache/paimon/index/vector/VectorIndexMetadata.java
similarity index 98%
rename from
java/src/main/java/org/apache/paimon/index/ivfpq/VectorIndexMetadata.java
rename to
java/src/main/java/org/apache/paimon/index/vector/VectorIndexMetadata.java
index ec52f11..2154299 100644
--- a/java/src/main/java/org/apache/paimon/index/ivfpq/VectorIndexMetadata.java
+++ b/java/src/main/java/org/apache/paimon/index/vector/VectorIndexMetadata.java
@@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.
-package org.apache.paimon.index.ivfpq;
+package org.apache.paimon.index.vector;
public final class VectorIndexMetadata {
diff --git
a/java/src/main/java/org/apache/paimon/index/ivfpq/VectorIndexNative.java
b/java/src/main/java/org/apache/paimon/index/vector/VectorIndexNative.java
similarity index 98%
rename from
java/src/main/java/org/apache/paimon/index/ivfpq/VectorIndexNative.java
rename to
java/src/main/java/org/apache/paimon/index/vector/VectorIndexNative.java
index 194e61b..5350639 100644
--- a/java/src/main/java/org/apache/paimon/index/ivfpq/VectorIndexNative.java
+++ b/java/src/main/java/org/apache/paimon/index/vector/VectorIndexNative.java
@@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.
-package org.apache.paimon.index.ivfpq;
+package org.apache.paimon.index.vector;
final class VectorIndexNative {
diff --git
a/java/src/main/java/org/apache/paimon/index/ivfpq/VectorIndexReader.java
b/java/src/main/java/org/apache/paimon/index/vector/VectorIndexReader.java
similarity index 99%
rename from
java/src/main/java/org/apache/paimon/index/ivfpq/VectorIndexReader.java
rename to
java/src/main/java/org/apache/paimon/index/vector/VectorIndexReader.java
index b10fb52..3a27321 100644
--- a/java/src/main/java/org/apache/paimon/index/ivfpq/VectorIndexReader.java
+++ b/java/src/main/java/org/apache/paimon/index/vector/VectorIndexReader.java
@@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.
-package org.apache.paimon.index.ivfpq;
+package org.apache.paimon.index.vector;
public final class VectorIndexReader implements AutoCloseable {
diff --git
a/java/src/main/java/org/apache/paimon/index/ivfpq/VectorIndexWriter.java
b/java/src/main/java/org/apache/paimon/index/vector/VectorIndexWriter.java
similarity index 99%
rename from
java/src/main/java/org/apache/paimon/index/ivfpq/VectorIndexWriter.java
rename to
java/src/main/java/org/apache/paimon/index/vector/VectorIndexWriter.java
index a82950d..0dda2a3 100644
--- a/java/src/main/java/org/apache/paimon/index/ivfpq/VectorIndexWriter.java
+++ b/java/src/main/java/org/apache/paimon/index/vector/VectorIndexWriter.java
@@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.
-package org.apache.paimon.index.ivfpq;
+package org.apache.paimon.index.vector;
import java.util.Map;
diff --git
a/java/src/main/java/org/apache/paimon/index/ivfpq/VectorSearchBatchResult.java
b/java/src/main/java/org/apache/paimon/index/vector/VectorSearchBatchResult.java
similarity index 98%
rename from
java/src/main/java/org/apache/paimon/index/ivfpq/VectorSearchBatchResult.java
rename to
java/src/main/java/org/apache/paimon/index/vector/VectorSearchBatchResult.java
index 05ff0ad..12952e9 100644
---
a/java/src/main/java/org/apache/paimon/index/ivfpq/VectorSearchBatchResult.java
+++
b/java/src/main/java/org/apache/paimon/index/vector/VectorSearchBatchResult.java
@@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.
-package org.apache.paimon.index.ivfpq;
+package org.apache.paimon.index.vector;
import java.util.Arrays;
diff --git
a/java/src/main/java/org/apache/paimon/index/ivfpq/VectorSearchResult.java
b/java/src/main/java/org/apache/paimon/index/vector/VectorSearchResult.java
similarity index 97%
rename from
java/src/main/java/org/apache/paimon/index/ivfpq/VectorSearchResult.java
rename to
java/src/main/java/org/apache/paimon/index/vector/VectorSearchResult.java
index b0a1e55..870aa49 100644
--- a/java/src/main/java/org/apache/paimon/index/ivfpq/VectorSearchResult.java
+++ b/java/src/main/java/org/apache/paimon/index/vector/VectorSearchResult.java
@@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.
-package org.apache.paimon.index.ivfpq;
+package org.apache.paimon.index.vector;
import java.util.Arrays;
diff --git
a/java/src/test/java/org/apache/paimon/index/ivfpq/VectorIndexJavaApiTest.java
b/java/src/test/java/org/apache/paimon/index/vector/VectorIndexJavaApiTest.java
similarity index 99%
rename from
java/src/test/java/org/apache/paimon/index/ivfpq/VectorIndexJavaApiTest.java
rename to
java/src/test/java/org/apache/paimon/index/vector/VectorIndexJavaApiTest.java
index 85fe918..4d2cc80 100644
---
a/java/src/test/java/org/apache/paimon/index/ivfpq/VectorIndexJavaApiTest.java
+++
b/java/src/test/java/org/apache/paimon/index/vector/VectorIndexJavaApiTest.java
@@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.
-package org.apache.paimon.index.ivfpq;
+package org.apache.paimon.index.vector;
import java.util.Arrays;
import java.util.HashMap;
diff --git
a/java/src/test/java/org/apache/paimon/index/ivfpq/VectorIndexNativeHandleSafetyTest.java
b/java/src/test/java/org/apache/paimon/index/vector/VectorIndexNativeHandleSafetyTest.java
similarity index 99%
rename from
java/src/test/java/org/apache/paimon/index/ivfpq/VectorIndexNativeHandleSafetyTest.java
rename to
java/src/test/java/org/apache/paimon/index/vector/VectorIndexNativeHandleSafetyTest.java
index 8d6dd2a..efcfdcb 100644
---
a/java/src/test/java/org/apache/paimon/index/ivfpq/VectorIndexNativeHandleSafetyTest.java
+++
b/java/src/test/java/org/apache/paimon/index/vector/VectorIndexNativeHandleSafetyTest.java
@@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.
-package org.apache.paimon.index.ivfpq;
+package org.apache.paimon.index.vector;
import java.io.ByteArrayOutputStream;
import java.util.HashMap;
diff --git
a/java/src/test/java/org/apache/paimon/index/ivfpq/VectorIndexNativePanicBoundaryTest.java
b/java/src/test/java/org/apache/paimon/index/vector/VectorIndexNativePanicBoundaryTest.java
similarity index 99%
rename from
java/src/test/java/org/apache/paimon/index/ivfpq/VectorIndexNativePanicBoundaryTest.java
rename to
java/src/test/java/org/apache/paimon/index/vector/VectorIndexNativePanicBoundaryTest.java
index f260aeb..98e99b9 100644
---
a/java/src/test/java/org/apache/paimon/index/ivfpq/VectorIndexNativePanicBoundaryTest.java
+++
b/java/src/test/java/org/apache/paimon/index/vector/VectorIndexNativePanicBoundaryTest.java
@@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.
-package org.apache.paimon.index.ivfpq;
+package org.apache.paimon.index.vector;
import java.io.ByteArrayOutputStream;
import java.util.HashMap;
diff --git
a/java/src/test/java/org/apache/paimon/index/ivfpq/VectorIndexNativeValidationTest.java
b/java/src/test/java/org/apache/paimon/index/vector/VectorIndexNativeValidationTest.java
similarity index 99%
rename from
java/src/test/java/org/apache/paimon/index/ivfpq/VectorIndexNativeValidationTest.java
rename to
java/src/test/java/org/apache/paimon/index/vector/VectorIndexNativeValidationTest.java
index 55b8b2c..ac0c3cc 100644
---
a/java/src/test/java/org/apache/paimon/index/ivfpq/VectorIndexNativeValidationTest.java
+++
b/java/src/test/java/org/apache/paimon/index/vector/VectorIndexNativeValidationTest.java
@@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.
-package org.apache.paimon.index.ivfpq;
+package org.apache.paimon.index.vector;
import java.io.ByteArrayOutputStream;
import java.util.HashMap;
diff --git a/jni/src/lib.rs b/jni/src/lib.rs
index 7a07757..cc18f92 100644
--- a/jni/src/lib.rs
+++ b/jni/src/lib.rs
@@ -202,7 +202,7 @@ fn build_result(env: &mut JNIEnv, ids: Vec<i64>, dists:
Vec<f32>) -> jobject {
};
let _ = env.set_float_array_region(&dist_array, 0, &dists);
- let result_class = match
env.find_class("org/apache/paimon/index/ivfpq/VectorSearchResult") {
+ let result_class = match
env.find_class("org/apache/paimon/index/vector/VectorSearchResult") {
Ok(c) => c,
Err(e) => return throw_and_return(env, &format!("find_class: {}", e)),
};
@@ -238,11 +238,11 @@ fn build_batch_result(
};
let _ = env.set_float_array_region(&dist_array, 0, &dists);
- let result_class = match
env.find_class("org/apache/paimon/index/ivfpq/VectorSearchBatchResult")
- {
- Ok(c) => c,
- Err(e) => return throw_and_return(env, &format!("find_class: {}", e)),
- };
+ let result_class =
+ match
env.find_class("org/apache/paimon/index/vector/VectorSearchBatchResult") {
+ Ok(c) => c,
+ Err(e) => return throw_and_return(env, &format!("find_class: {}",
e)),
+ };
let result = match env.new_object(
result_class,
@@ -262,7 +262,7 @@ fn build_batch_result(
}
fn build_metadata(env: &mut JNIEnv, metadata: VectorIndexMetadata) -> jobject {
- let class = match
env.find_class("org/apache/paimon/index/ivfpq/VectorIndexMetadata") {
+ let class = match
env.find_class("org/apache/paimon/index/vector/VectorIndexMetadata") {
Ok(c) => c,
Err(e) => return throw_and_return(env, &format!("find_class: {}", e)),
};
@@ -306,7 +306,7 @@ fn search_params(k: jint, nprobe: jint, ef_search: jint) ->
Option<VectorSearchP
// --- Unified Writer API ---
#[no_mangle]
-pub extern "system" fn
Java_org_apache_paimon_index_ivfpq_VectorIndexNative_createWriter(
+pub extern "system" fn
Java_org_apache_paimon_index_vector_VectorIndexNative_createWriter(
env: JNIEnv,
_class: JClass,
keys: jobjectArray,
@@ -327,7 +327,7 @@ pub extern "system" fn
Java_org_apache_paimon_index_ivfpq_VectorIndexNative_crea
}
#[no_mangle]
-pub extern "system" fn
Java_org_apache_paimon_index_ivfpq_VectorIndexNative_train(
+pub extern "system" fn
Java_org_apache_paimon_index_vector_VectorIndexNative_train(
env: JNIEnv,
_class: JClass,
ptr: jlong,
@@ -354,7 +354,7 @@ pub extern "system" fn
Java_org_apache_paimon_index_ivfpq_VectorIndexNative_trai
}
#[no_mangle]
-pub extern "system" fn
Java_org_apache_paimon_index_ivfpq_VectorIndexNative_writerDimension(
+pub extern "system" fn
Java_org_apache_paimon_index_vector_VectorIndexNative_writerDimension(
env: JNIEnv,
_class: JClass,
ptr: jlong,
@@ -369,7 +369,7 @@ pub extern "system" fn
Java_org_apache_paimon_index_ivfpq_VectorIndexNative_writ
}
#[no_mangle]
-pub extern "system" fn
Java_org_apache_paimon_index_ivfpq_VectorIndexNative_addVectors(
+pub extern "system" fn
Java_org_apache_paimon_index_vector_VectorIndexNative_addVectors(
env: JNIEnv,
_class: JClass,
ptr: jlong,
@@ -401,7 +401,7 @@ pub extern "system" fn
Java_org_apache_paimon_index_ivfpq_VectorIndexNative_addV
}
#[no_mangle]
-pub extern "system" fn
Java_org_apache_paimon_index_ivfpq_VectorIndexNative_writeIndex(
+pub extern "system" fn
Java_org_apache_paimon_index_vector_VectorIndexNative_writeIndex(
env: JNIEnv,
_class: JClass,
ptr: jlong,
@@ -430,7 +430,7 @@ pub extern "system" fn
Java_org_apache_paimon_index_ivfpq_VectorIndexNative_writ
}
#[no_mangle]
-pub extern "system" fn
Java_org_apache_paimon_index_ivfpq_VectorIndexNative_freeWriter(
+pub extern "system" fn
Java_org_apache_paimon_index_vector_VectorIndexNative_freeWriter(
env: JNIEnv,
_class: JClass,
ptr: jlong,
@@ -447,7 +447,7 @@ pub extern "system" fn
Java_org_apache_paimon_index_ivfpq_VectorIndexNative_free
// --- Unified Reader API ---
#[no_mangle]
-pub extern "system" fn
Java_org_apache_paimon_index_ivfpq_VectorIndexNative_openReader(
+pub extern "system" fn
Java_org_apache_paimon_index_vector_VectorIndexNative_openReader(
env: JNIEnv,
_class: JClass,
stream_input: JObject,
@@ -472,7 +472,7 @@ pub extern "system" fn
Java_org_apache_paimon_index_ivfpq_VectorIndexNative_open
}
#[no_mangle]
-pub extern "system" fn
Java_org_apache_paimon_index_ivfpq_VectorIndexNative_metadata(
+pub extern "system" fn
Java_org_apache_paimon_index_vector_VectorIndexNative_metadata(
env: JNIEnv,
_class: JClass,
ptr: jlong,
@@ -487,7 +487,7 @@ pub extern "system" fn
Java_org_apache_paimon_index_ivfpq_VectorIndexNative_meta
}
#[no_mangle]
-pub extern "system" fn
Java_org_apache_paimon_index_ivfpq_VectorIndexNative_search(
+pub extern "system" fn
Java_org_apache_paimon_index_vector_VectorIndexNative_search(
env: JNIEnv,
_class: JClass,
ptr: jlong,
@@ -526,7 +526,7 @@ pub extern "system" fn
Java_org_apache_paimon_index_ivfpq_VectorIndexNative_sear
}
#[no_mangle]
-pub extern "system" fn
Java_org_apache_paimon_index_ivfpq_VectorIndexNative_searchWithRoaringFilter(
+pub extern "system" fn
Java_org_apache_paimon_index_vector_VectorIndexNative_searchWithRoaringFilter(
env: JNIEnv,
_class: JClass,
ptr: jlong,
@@ -571,7 +571,7 @@ pub extern "system" fn
Java_org_apache_paimon_index_ivfpq_VectorIndexNative_sear
}
#[no_mangle]
-pub extern "system" fn
Java_org_apache_paimon_index_ivfpq_VectorIndexNative_searchBatch(
+pub extern "system" fn
Java_org_apache_paimon_index_vector_VectorIndexNative_searchBatch(
env: JNIEnv,
_class: JClass,
ptr: jlong,
@@ -615,7 +615,7 @@ pub extern "system" fn
Java_org_apache_paimon_index_ivfpq_VectorIndexNative_sear
}
#[no_mangle]
-pub extern "system" fn
Java_org_apache_paimon_index_ivfpq_VectorIndexNative_searchBatchWithRoaringFilter(
+pub extern "system" fn
Java_org_apache_paimon_index_vector_VectorIndexNative_searchBatchWithRoaringFilter(
env: JNIEnv,
_class: JClass,
ptr: jlong,
@@ -667,7 +667,7 @@ pub extern "system" fn
Java_org_apache_paimon_index_ivfpq_VectorIndexNative_sear
}
#[no_mangle]
-pub extern "system" fn
Java_org_apache_paimon_index_ivfpq_VectorIndexNative_freeReader(
+pub extern "system" fn
Java_org_apache_paimon_index_vector_VectorIndexNative_freeReader(
env: JNIEnv,
_class: JClass,
ptr: jlong,