diff --git a/server/src/main/java/org/elasticsearch/index/codec/vectors/DefaultIVFVectorsWriter.java b/server/src/main/java/org/elasticsearch/index/codec/vectors/DefaultIVFVectorsWriter.java index 58f09cf70d4bd..cc6c839fdc10b 100644 --- a/server/src/main/java/org/elasticsearch/index/codec/vectors/DefaultIVFVectorsWriter.java +++ b/server/src/main/java/org/elasticsearch/index/codec/vectors/DefaultIVFVectorsWriter.java @@ -405,9 +405,9 @@ public int size() { // this are small numbers so we run it wih all the centroids. final KMeansResult kMeansResult = new HierarchicalKMeans( fieldInfo.getVectorDimension(), - 6, - floatVectorValues.size(), - floatVectorValues.size(), + HierarchicalKMeans.MAX_ITERATIONS_DEFAULT, + HierarchicalKMeans.SAMPLES_PER_CLUSTER_DEFAULT, + HierarchicalKMeans.MAXK, -1 // disable SOAR assignments ).cluster(floatVectorValues, centroidsPerParentCluster); final int[] centroidVectorCount = new int[kMeansResult.centroids().length]; diff --git a/server/src/main/java/org/elasticsearch/index/codec/vectors/cluster/HierarchicalKMeans.java b/server/src/main/java/org/elasticsearch/index/codec/vectors/cluster/HierarchicalKMeans.java index 22a78cfbae835..0bf15943f0060 100644 --- a/server/src/main/java/org/elasticsearch/index/codec/vectors/cluster/HierarchicalKMeans.java +++ b/server/src/main/java/org/elasticsearch/index/codec/vectors/cluster/HierarchicalKMeans.java @@ -19,10 +19,10 @@ */ public class HierarchicalKMeans { - static final int MAXK = 128; - static final int MAX_ITERATIONS_DEFAULT = 6; - static final int SAMPLES_PER_CLUSTER_DEFAULT = 64; - static final float DEFAULT_SOAR_LAMBDA = 1.0f; + public static final int MAXK = 128; + public static final int MAX_ITERATIONS_DEFAULT = 6; + public static final int SAMPLES_PER_CLUSTER_DEFAULT = 64; + public static final float DEFAULT_SOAR_LAMBDA = 1.0f; final int dimension; final int maxIterations;