Skip to content

Commit 5d790ef

Browse files
committed
Merge remote-tracking branch 'carlosdelest/non-issue/esql-dense-vector-casting' into non-issue/esql-dense-vector-casting
# Conflicts: # x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/scalar/convert/ToDenseVector.java
2 parents 1be0364 + 83331f3 commit 5d790ef

File tree

3 files changed

+24
-58
lines changed

3 files changed

+24
-58
lines changed

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/scalar/convert/ToDenseVector.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public ToDenseVector(
6161
Source source,
6262
@Param(
6363
name = "field",
64-
type = {"double", "long", "integer", "keyword"},
64+
type = { "double", "long", "integer", "keyword" },
6565
description = "multi-valued input of numbers or hexadecimal string to convert."
6666
) Expression field
6767
) {

x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/analysis/AnalyzerTests.java

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2455,33 +2455,23 @@ private void checkDenseVectorImplicitCastingSimilarityFunction(String similarity
24552455

24562456
public void testDenseVectorEvalCastingSimilarityFunctions() {
24572457
if (EsqlCapabilities.Cap.COSINE_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
2458-
checkDenseVectorEvalCastingSimilarityFunction(
2459-
"v_cosine(float_vector, query)"
2460-
);
2458+
checkDenseVectorEvalCastingSimilarityFunction("v_cosine(float_vector, query)");
24612459
checkDenseVectorEvalCastingSimilarityFunction("v_cosine(byte_vector, query)");
24622460
}
24632461
if (EsqlCapabilities.Cap.DOT_PRODUCT_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
2464-
checkDenseVectorEvalCastingSimilarityFunction(
2465-
"v_dot_product(float_vector, query)"
2466-
);
2462+
checkDenseVectorEvalCastingSimilarityFunction("v_dot_product(float_vector, query)");
24672463
checkDenseVectorEvalCastingSimilarityFunction("v_dot_product(byte_vector, query)");
24682464
}
24692465
if (EsqlCapabilities.Cap.L1_NORM_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
2470-
checkDenseVectorEvalCastingSimilarityFunction(
2471-
"v_l1_norm(float_vector, query)"
2472-
);
2466+
checkDenseVectorEvalCastingSimilarityFunction("v_l1_norm(float_vector, query)");
24732467
checkDenseVectorEvalCastingSimilarityFunction("v_l1_norm(byte_vector, query)");
24742468
}
24752469
if (EsqlCapabilities.Cap.L2_NORM_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
2476-
checkDenseVectorEvalCastingSimilarityFunction(
2477-
"v_l2_norm(float_vector, query)"
2478-
);
2470+
checkDenseVectorEvalCastingSimilarityFunction("v_l2_norm(float_vector, query)");
24792471
checkDenseVectorEvalCastingSimilarityFunction("v_l2_norm(float_vector, query)");
24802472
}
24812473
if (EsqlCapabilities.Cap.HAMMING_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
2482-
checkDenseVectorEvalCastingSimilarityFunction(
2483-
"v_hamming(byte_vector, query)"
2484-
);
2474+
checkDenseVectorEvalCastingSimilarityFunction("v_hamming(byte_vector, query)");
24852475
checkDenseVectorEvalCastingSimilarityFunction("v_hamming(byte_vector, query)");
24862476
}
24872477
}

x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/expression/function/scalar/convert/ToDenseVectorTests.java

Lines changed: 18 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -37,49 +37,25 @@ public ToDenseVectorTests(@Name("TestCase") Supplier<TestCaseSupplier.TestCase>
3737
public static Iterable<Object[]> parameters() {
3838
List<TestCaseSupplier> suppliers = new ArrayList<>();
3939

40-
suppliers.add(
41-
new TestCaseSupplier(
42-
"int",
43-
List.of(DataType.INTEGER),
44-
() -> {
45-
List<Integer> data = Arrays.asList(randomArray(1, 10, Integer[]::new, ESTestCase::randomInt));
46-
return new TestCaseSupplier.TestCase(
47-
List.of(
48-
new TestCaseSupplier.TypedData(
49-
data,
50-
DataType.INTEGER,
51-
"int"
52-
)
53-
),
54-
evaluatorName("Int", "i"),
55-
DataType.DENSE_VECTOR,
56-
equalTo(data.stream().map(Number::floatValue).toList())
57-
);
58-
}
59-
)
60-
);
40+
suppliers.add(new TestCaseSupplier("int", List.of(DataType.INTEGER), () -> {
41+
List<Integer> data = Arrays.asList(randomArray(1, 10, Integer[]::new, ESTestCase::randomInt));
42+
return new TestCaseSupplier.TestCase(
43+
List.of(new TestCaseSupplier.TypedData(data, DataType.INTEGER, "int")),
44+
evaluatorName("Int", "i"),
45+
DataType.DENSE_VECTOR,
46+
equalTo(data.stream().map(Number::floatValue).toList())
47+
);
48+
}));
6149

62-
suppliers.add(
63-
new TestCaseSupplier(
64-
"long",
65-
List.of(DataType.LONG),
66-
() -> {
67-
List<Long> data = Arrays.asList(randomArray(1, 10, Long[]::new, ESTestCase::randomLong));
68-
return new TestCaseSupplier.TestCase(
69-
List.of(
70-
new TestCaseSupplier.TypedData(
71-
data,
72-
DataType.LONG,
73-
"long"
74-
)
75-
),
76-
evaluatorName("Long", "l"),
77-
DataType.DENSE_VECTOR,
78-
equalTo(data.stream().map(Number::floatValue).toList())
79-
);
80-
}
81-
)
82-
);
50+
suppliers.add(new TestCaseSupplier("long", List.of(DataType.LONG), () -> {
51+
List<Long> data = Arrays.asList(randomArray(1, 10, Long[]::new, ESTestCase::randomLong));
52+
return new TestCaseSupplier.TestCase(
53+
List.of(new TestCaseSupplier.TypedData(data, DataType.LONG, "long")),
54+
evaluatorName("Long", "l"),
55+
DataType.DENSE_VECTOR,
56+
equalTo(data.stream().map(Number::floatValue).toList())
57+
);
58+
}));
8359

8460
suppliers.add(
8561
new TestCaseSupplier(

0 commit comments

Comments
 (0)