Skip to content

Commit b721a52

Browse files
committed
spike: overload vectorIndex method to partially override the default vector config
1 parent d215a66 commit b721a52

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

src/main/java/io/weaviate/client6/v1/api/collections/VectorIndex.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.io.IOException;
44
import java.util.EnumMap;
55
import java.util.Map;
6+
import java.util.function.Function;
67

78
import com.google.gson.Gson;
89
import com.google.gson.JsonParser;
@@ -15,11 +16,17 @@
1516

1617
import io.weaviate.client6.v1.api.collections.vectorindex.Flat;
1718
import io.weaviate.client6.v1.api.collections.vectorindex.Hnsw;
19+
import io.weaviate.client6.v1.internal.ObjectBuilder;
1820
import io.weaviate.client6.v1.internal.json.JsonEnum;
1921

2022
public interface VectorIndex {
2123
static final String DEFAULT_VECTOR_NAME = "default";
2224
static final VectorIndex DEFAULT_VECTOR_INDEX = Hnsw.of();
25+
static final Function<Function<Hnsw.Builder, ObjectBuilder<Hnsw>>, VectorIndex> DEFAULT_VECTOR_INDEX_FUNC = Hnsw::of;
26+
27+
static VectorIndex createDefault(Function<Hnsw.Builder, ObjectBuilder<Hnsw>> fn) {
28+
return DEFAULT_VECTOR_INDEX_FUNC.apply(fn);
29+
}
2330

2431
public enum Kind implements JsonEnum<Kind> {
2532
HNSW("hnsw"),

src/main/java/io/weaviate/client6/v1/api/collections/vectorizers/Img2VecNeuralVectorizer.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
import io.weaviate.client6.v1.api.collections.VectorIndex;
1111
import io.weaviate.client6.v1.api.collections.Vectorizer;
12+
import io.weaviate.client6.v1.api.collections.vectorindex.Hnsw;
1213
import io.weaviate.client6.v1.internal.ObjectBuilder;
1314

1415
public record Img2VecNeuralVectorizer(
@@ -54,6 +55,17 @@ public Builder imageFields(String... fields) {
5455
return imageFields(Arrays.asList(fields));
5556
}
5657

58+
/**
59+
* Override default vector index configuration.
60+
*
61+
* <a href=
62+
* "https://docs.weaviate.io/weaviate/config-refs/indexing/vector-index#hnsw-index-parameters">HNSW</a>
63+
* is the default vector index.
64+
*/
65+
public Builder vectorIndex(Function<Hnsw.Builder, ObjectBuilder<Hnsw>> fn) {
66+
return vectorIndex(VectorIndex.createDefault(fn));
67+
}
68+
5769
/**
5870
* Override default vector index configuration.
5971
*

0 commit comments

Comments
 (0)