Skip to content

Commit 597741d

Browse files
committed
Add test
1 parent fc88621 commit 597741d

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

x-pack/plugin/esql/src/internalClusterTest/java/org/elasticsearch/xpack/esql/vector/VectorSimilarityFunctionsIT.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,27 @@ public void testCosineSimilarityBetweenConstantVectorAndField() {
9696
}
9797
}
9898

99+
@SuppressWarnings("unchecked")
100+
public void testCosineSimilarityBetweenConstantVectors() {
101+
var vectorLeft = randomVectorArray();
102+
var vectorRight = randomVectorArray();
103+
var query = String.format(Locale.ROOT, """
104+
ROW a = 1
105+
| EVAL similarity = %s(%s, %s)
106+
| KEEP similarity
107+
""", functionName, Arrays.toString(vectorLeft), Arrays.toString(vectorRight));
108+
109+
try (var resp = run(query)) {
110+
List<List<Object>> valuesList = EsqlTestUtils.getValuesList(resp);
111+
assertEquals(1, valuesList.size());
112+
113+
Double similarity = (Double) valuesList.get(0).get(0);
114+
assertNotNull(similarity);
115+
float expectedSimilarity = similarityFunction.compare(vectorLeft, vectorRight);
116+
assertEquals(expectedSimilarity, similarity, 0.0001);
117+
}
118+
}
119+
99120
private static float[] readVector(List<Float> leftVector) {
100121
float[] leftScratch = new float[leftVector.size()];
101122
for (int i = 0; i < leftVector.size(); i++) {

0 commit comments

Comments
 (0)