From 1c200d7d08ad77cdceece1bdd396720bb1f0ad73 Mon Sep 17 00:00:00 2001 From: ChrisHegarty Date: Wed, 23 Apr 2025 14:39:49 +0100 Subject: [PATCH 1/2] Update EsqlPartitioningIT to cover match --- .../esql/qa/single_node/EsqlPartitioningIT.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/x-pack/plugin/esql/qa/server/single-node/src/javaRestTest/java/org/elasticsearch/xpack/esql/qa/single_node/EsqlPartitioningIT.java b/x-pack/plugin/esql/qa/server/single-node/src/javaRestTest/java/org/elasticsearch/xpack/esql/qa/single_node/EsqlPartitioningIT.java index 238f5aacce588..dd066fc6739e6 100644 --- a/x-pack/plugin/esql/qa/server/single-node/src/javaRestTest/java/org/elasticsearch/xpack/esql/qa/single_node/EsqlPartitioningIT.java +++ b/x-pack/plugin/esql/qa/server/single-node/src/javaRestTest/java/org/elasticsearch/xpack/esql/qa/single_node/EsqlPartitioningIT.java @@ -49,7 +49,11 @@ public class EsqlPartitioningIT extends ESRestTestCase { private static final long BASE_TIME = DateFieldMapper.DEFAULT_DATE_TIME_FORMATTER.parseMillis("2025-01-01T00:00:00Z"); private static final int BULK_CHARS = Math.toIntExact(ByteSizeValue.ofMb(1).getBytes()); - record Case(String suffix, String idxPartition) {} + record Case(String suffix, String idxPartition, boolean score) { + Case(String suffix, String idxPartition) { + this(suffix, idxPartition, false); + } + } @ParametersFactory(argumentFormatting = "[%1$s] %3$s -> %4$s") public static Iterable parameters() { @@ -64,12 +68,18 @@ public static Iterable parameters() { new Case("| STATS SUM(a)", "DOC"), new Case("| MV_EXPAND a | STATS SUM(a)", "DOC"), new Case("| WHERE a == 1 | STATS SUM(a)", "SEGMENT"), - new Case("| WHERE a == 1 | MV_EXPAND a | STATS SUM(a)", "SEGMENT"), }) { + new Case("| WHERE a == 1 | MV_EXPAND a | STATS SUM(a)", "SEGMENT"), + new Case("| WHERE MATCH(a, \"1\")", "SHARD"), + new Case("| WHERE a:\"1\"", "SHARD"), + new Case("| WHERE MATCH(a, \"2\") | SORT _score DESC", "SHARD", true), + new Case("| WHERE MATCH(a, \"3\") | SORT _score DESC | LIMIT 10", "SHARD", true), + new Case("| WHERE MATCH(a, \"3\") OR MATCH(a, \"4\") | SORT _score DESC | LIMIT 10", "SHARD", true), + new Case("| WHERE a:\"3\" | WHERE a:\"4\" | SORT _score DESC | LIMIT 10", "SHARD", true), }) { params.add( new Object[] { defaultDataPartitioning, index, - "FROM " + index + " " + c.suffix, + "FROM " + index + (c.score ? " METADATA _score " : " ") + c.suffix, expectedPartition(defaultDataPartitioning, index, c.idxPartition) } ); } From b890133719abd3986daabc5ed159a22334219eff Mon Sep 17 00:00:00 2001 From: ChrisHegarty Date: Wed, 23 Apr 2025 16:22:18 +0100 Subject: [PATCH 2/2] add kql and qstr scenarios --- .../xpack/esql/qa/single_node/EsqlPartitioningIT.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/x-pack/plugin/esql/qa/server/single-node/src/javaRestTest/java/org/elasticsearch/xpack/esql/qa/single_node/EsqlPartitioningIT.java b/x-pack/plugin/esql/qa/server/single-node/src/javaRestTest/java/org/elasticsearch/xpack/esql/qa/single_node/EsqlPartitioningIT.java index dd066fc6739e6..bd4280fc118fb 100644 --- a/x-pack/plugin/esql/qa/server/single-node/src/javaRestTest/java/org/elasticsearch/xpack/esql/qa/single_node/EsqlPartitioningIT.java +++ b/x-pack/plugin/esql/qa/server/single-node/src/javaRestTest/java/org/elasticsearch/xpack/esql/qa/single_node/EsqlPartitioningIT.java @@ -70,8 +70,12 @@ public static Iterable parameters() { new Case("| WHERE a == 1 | STATS SUM(a)", "SEGMENT"), new Case("| WHERE a == 1 | MV_EXPAND a | STATS SUM(a)", "SEGMENT"), new Case("| WHERE MATCH(a, \"1\")", "SHARD"), + new Case("| WHERE QSTR(\"a:1\")", "SHARD"), + new Case("| WHERE KQL(\"a:1\")", "SHARD"), new Case("| WHERE a:\"1\"", "SHARD"), new Case("| WHERE MATCH(a, \"2\") | SORT _score DESC", "SHARD", true), + new Case("| WHERE QSTR(\"a:2\") | SORT _score DESC", "SHARD", true), + new Case("| WHERE KQL(\"a:2\") | SORT _score DESC", "SHARD", true), new Case("| WHERE MATCH(a, \"3\") | SORT _score DESC | LIMIT 10", "SHARD", true), new Case("| WHERE MATCH(a, \"3\") OR MATCH(a, \"4\") | SORT _score DESC | LIMIT 10", "SHARD", true), new Case("| WHERE a:\"3\" | WHERE a:\"4\" | SORT _score DESC | LIMIT 10", "SHARD", true), }) {