Skip to content

Commit aea2f38

Browse files
committed
Remove SEMANTIC_TEXT data type in ES|QL
1 parent 3b685cb commit aea2f38

File tree

70 files changed

+54
-231
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+54
-231
lines changed

x-pack/plugin/esql-core/src/main/java/org/elasticsearch/xpack/esql/core/type/DataType.java

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -301,13 +301,6 @@ public enum DataType {
301301
* mapping and should be hidden from users.
302302
*/
303303
PARTIAL_AGG(builder().esType("partial_agg").unknownSize()),
304-
/**
305-
* String fields that are split into chunks, where each chunk has attached embeddings
306-
* used for semantic search. Generally ESQL only sees {@code semantic_text} fields when
307-
* loaded from the index and ESQL will load these fields as strings without their attached
308-
* chunks or embeddings.
309-
*/
310-
SEMANTIC_TEXT(builder().esType("semantic_text").unknownSize()),
311304

312305
AGGREGATE_METRIC_DOUBLE(builder().esType("aggregate_metric_double").estimatedSize(Double.BYTES * 3 + Integer.BYTES));
313306

@@ -318,7 +311,6 @@ public enum DataType {
318311
* check that sending them to a function produces a sane error message.
319312
*/
320313
public static final Map<DataType, FeatureFlag> UNDER_CONSTRUCTION = Map.ofEntries(
321-
Map.entry(SEMANTIC_TEXT, EsqlCorePlugin.SEMANTIC_TEXT_FEATURE_FLAG),
322314
Map.entry(AGGREGATE_METRIC_DOUBLE, EsqlCorePlugin.AGGREGATE_METRIC_DOUBLE_FEATURE_FLAG)
323315
);
324316

@@ -483,7 +475,7 @@ public static boolean isUnsupported(DataType from) {
483475
}
484476

485477
public static boolean isString(DataType t) {
486-
return t == KEYWORD || t == TEXT || t == SEMANTIC_TEXT;
478+
return t == KEYWORD || t == TEXT;
487479
}
488480

489481
public static boolean isPrimitiveAndSupported(DataType t) {

x-pack/plugin/esql/qa/server/src/main/java/org/elasticsearch/xpack/esql/qa/rest/EsqlSpecTestCase.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -168,9 +168,7 @@ public final void test() throws Throwable {
168168
}
169169

170170
protected void shouldSkipTest(String testName) throws IOException {
171-
if (testCase.requiredCapabilities.contains("semantic_text_type")
172-
|| testCase.requiredCapabilities.contains("semantic_text_aggregations")
173-
|| testCase.requiredCapabilities.contains("semantic_text_field_caps")) {
171+
if (testCase.requiredCapabilities.contains("semantic_text_field_caps")) {
174172
assumeTrue("Inference test service needs to be supported for semantic_text", supportsInferenceTestService());
175173
}
176174
checkCapabilities(adminClient(), testFeatureService, testName, testCase);

x-pack/plugin/esql/qa/server/src/main/java/org/elasticsearch/xpack/esql/qa/rest/SemanticMatchTestCase.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
public abstract class SemanticMatchTestCase extends ESRestTestCase {
2525
public void testWithMultipleInferenceIds() throws IOException {
26-
assumeTrue("semantic text capability not available", EsqlCapabilities.Cap.SEMANTIC_TEXT_TYPE.isEnabled());
26+
assumeTrue("semantic text capability not available", EsqlCapabilities.Cap.SEMANTIC_TEXT_FIELD_CAPS.isEnabled());
2727

2828
String query = """
2929
from test-semantic1,test-semantic2
@@ -37,7 +37,7 @@ public void testWithMultipleInferenceIds() throws IOException {
3737
}
3838

3939
public void testWithInferenceNotConfigured() {
40-
assumeTrue("semantic text capability not available", EsqlCapabilities.Cap.SEMANTIC_TEXT_TYPE.isEnabled());
40+
assumeTrue("semantic text capability not available", EsqlCapabilities.Cap.SEMANTIC_TEXT_FIELD_CAPS.isEnabled());
4141

4242
String query = """
4343
from test-semantic3

x-pack/plugin/esql/qa/testFixtures/src/main/java/org/elasticsearch/xpack/esql/EsqlTestUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -783,7 +783,7 @@ public static Literal randomLiteral(DataType type) {
783783
case KEYWORD -> new BytesRef(randomAlphaOfLength(5));
784784
case IP -> new BytesRef(InetAddressPoint.encode(randomIp(randomBoolean())));
785785
case TIME_DURATION -> Duration.ofMillis(randomLongBetween(-604800000L, 604800000L)); // plus/minus 7 days
786-
case TEXT, SEMANTIC_TEXT -> new BytesRef(randomAlphaOfLength(50));
786+
case TEXT -> new BytesRef(randomAlphaOfLength(50));
787787
case VERSION -> randomVersion().toBytesRef();
788788
case GEO_POINT -> GEO.asWkb(GeometryTestUtils.randomPoint());
789789
case CARTESIAN_POINT -> CARTESIAN.asWkb(ShapeTestUtils.randomPoint());

x-pack/plugin/esql/qa/testFixtures/src/main/resources/match-function.csv-spec

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -601,7 +601,6 @@ emp_no_bool:boolean
601601

602602
testMatchWithSemanticText
603603
required_capability: match_function
604-
required_capability: semantic_text_type
605604
required_capability: semantic_text_field_caps
606605

607606
from semantic_text
@@ -618,7 +617,6 @@ live long and prosper
618617

619618
testMatchWithSemanticTextAndKeyword
620619
required_capability: match_function
621-
required_capability: semantic_text_type
622620
required_capability: semantic_text_field_caps
623621

624622
from semantic_text
@@ -632,7 +630,6 @@ live long and prosper | host1
632630

633631
testMatchWithSemanticTextMultiValueField
634632
required_capability: match_function
635-
required_capability: semantic_text_type
636633
required_capability: semantic_text_field_caps
637634

638635
from semantic_text metadata _id
@@ -646,7 +643,6 @@ _id: keyword | st_multi_value:text
646643

647644
testMatchWithSemanticTextWithEvalsAndOtherFunctionsAndStats
648645
required_capability: match_function
649-
required_capability: semantic_text_type
650646
required_capability: semantic_text_field_caps
651647

652648
from semantic_text
@@ -662,7 +658,6 @@ result:long
662658

663659
testMatchWithSemanticTextAndKql
664660
required_capability: match_function
665-
required_capability: semantic_text_type
666661
required_capability: kql_function
667662
required_capability: semantic_text_field_caps
668663

x-pack/plugin/esql/qa/testFixtures/src/main/resources/match-operator.csv-spec

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -611,7 +611,6 @@ emp_no_bool:boolean
611611

612612
testMatchWithSemanticText
613613
required_capability: match_operator_colon
614-
required_capability: semantic_text_type
615614
required_capability: semantic_text_field_caps
616615

617616
from semantic_text
@@ -628,7 +627,6 @@ live long and prosper
628627

629628
testMatchWithSemanticTextAndKeyword
630629
required_capability: match_operator_colon
631-
required_capability: semantic_text_type
632630
required_capability: semantic_text_field_caps
633631

634632
from semantic_text
@@ -642,7 +640,6 @@ live long and prosper | host1
642640

643641
testMatchWithSemanticTextMultiValueField
644642
required_capability: match_operator_colon
645-
required_capability: semantic_text_type
646643
required_capability: semantic_text_field_caps
647644

648645
from semantic_text metadata _id
@@ -656,7 +653,6 @@ _id: keyword | st_multi_value:text
656653

657654
testMatchWithSemanticTextWithEvalsAndOtherFunctionsAndStats
658655
required_capability: match_operator_colon
659-
required_capability: semantic_text_type
660656
required_capability: semantic_text_field_caps
661657

662658
from semantic_text
@@ -672,7 +668,6 @@ result:long
672668

673669
testMatchWithSemanticTextAndKql
674670
required_capability: match_operator_colon
675-
required_capability: semantic_text_type
676671
required_capability: kql_function
677672
required_capability: semantic_text_field_caps
678673

@@ -743,7 +738,6 @@ _id:keyword | language_name:keyword | language_code:integer
743738

744739
testMatchWithSemanticTextKqlAndLookupJoin
745740
required_capability: match_operator_colon
746-
required_capability: semantic_text_type
747741
required_capability: kql_function
748742
required_capability: semantic_text_field_caps
749743
required_capability: join_lookup_v12

x-pack/plugin/esql/qa/testFixtures/src/main/resources/scoring.csv-spec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ book_no:keyword | title:text
325325

326326
semanticTextMatch
327327
required_capability: metadata_score
328-
required_capability: semantic_text_type
328+
required_capability: semantic_text_field_caps
329329
required_capability: match_function
330330

331331
from semantic_text metadata _id, _score
@@ -343,7 +343,7 @@ _id:keyword
343343
semanticTextMatchWithAllTheTextFunctions
344344

345345
required_capability: metadata_score
346-
required_capability: semantic_text_type
346+
required_capability: semantic_text_field_caps
347347
required_capability: match_function
348348
required_capability: kql_function
349349
required_capability: qstr_function

x-pack/plugin/esql/qa/testFixtures/src/main/resources/semantic_text.csv-spec

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ _id:keyword | my_field:text
8989
;
9090

9191
statsWithCount
92-
required_capability: semantic_text_aggregations
92+
required_capability: semantic_text_field_caps
9393

9494
FROM semantic_text METADATA _id
9595
| STATS result = COUNT(st_version)
@@ -100,7 +100,7 @@ result:long
100100
;
101101

102102
statsWithCountDistinct
103-
required_capability: semantic_text_aggregations
103+
required_capability: semantic_text_field_caps
104104

105105
FROM semantic_text METADATA _id
106106
| STATS result = COUNT_DISTINCT(st_version)
@@ -111,7 +111,7 @@ result:long
111111
;
112112

113113
statsWithValues
114-
required_capability: semantic_text_aggregations
114+
required_capability: semantic_text_field_caps
115115

116116
FROM semantic_text METADATA _id
117117
| STATS result = VALUES(st_version)
@@ -123,7 +123,7 @@ result:keyword
123123
;
124124

125125
statsWithMin
126-
required_capability: semantic_text_aggregations
126+
required_capability: semantic_text_field_caps
127127

128128
FROM semantic_text METADATA _id
129129
| STATS result = min(st_version)
@@ -134,7 +134,7 @@ result:keyword
134134
;
135135

136136
statsWithMax
137-
required_capability: semantic_text_aggregations
137+
required_capability: semantic_text_field_caps
138138

139139
FROM semantic_text METADATA _id
140140
| STATS result = max(st_version)
@@ -145,7 +145,7 @@ result:keyword
145145
;
146146

147147
statsWithTop
148-
required_capability: semantic_text_aggregations
148+
required_capability: semantic_text_field_caps
149149

150150
FROM semantic_text METADATA _id
151151
| STATS result = top(st_version, 2, "asc")
@@ -156,7 +156,7 @@ result:keyword
156156
;
157157

158158
statsWithGrouping
159-
required_capability: semantic_text_aggregations
159+
required_capability: semantic_text_field_caps
160160

161161
FROM semantic_text METADATA _id
162162
| STATS COUNT(*) BY st_version

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/action/EsqlCapabilities.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import org.elasticsearch.common.util.FeatureFlag;
1313
import org.elasticsearch.features.NodeFeature;
1414
import org.elasticsearch.rest.action.admin.cluster.RestNodesCapabilitiesAction;
15-
import org.elasticsearch.xpack.esql.core.plugin.EsqlCorePlugin;
1615
import org.elasticsearch.xpack.esql.plugin.EsqlFeatures;
1716
import org.elasticsearch.xpack.esql.plugin.EsqlPlugin;
1817

@@ -688,10 +687,6 @@ public enum Cap {
688687
* Adding stats for functions (stack telemetry)
689688
*/
690689
FUNCTION_STATS,
691-
/**
692-
* Support for semantic_text field mapping
693-
*/
694-
SEMANTIC_TEXT_TYPE(EsqlCorePlugin.SEMANTIC_TEXT_FEATURE_FLAG),
695690
/**
696691
* Fix for an optimization that caused wrong results
697692
* https://github.com/elastic/elasticsearch/issues/115281
@@ -765,11 +760,6 @@ public enum Cap {
765760
*/
766761
FIX_NESTED_FIELDS_NAME_CLASH_IN_INDEXRESOLVER,
767762

768-
/**
769-
* support for aggregations on semantic_text
770-
*/
771-
SEMANTIC_TEXT_AGGREGATIONS(EsqlCorePlugin.SEMANTIC_TEXT_FEATURE_FLAG),
772-
773763
/**
774764
* Fix for https://github.com/elastic/elasticsearch/issues/114714, again
775765
*/

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/action/PositionToXContent.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ protected XContentBuilder valueToXContent(XContentBuilder builder, ToXContent.Pa
9191
return builder.value(unsignedLongAsNumber(l));
9292
}
9393
};
94-
case KEYWORD, SEMANTIC_TEXT, TEXT -> new PositionToXContent(block) {
94+
case KEYWORD, TEXT -> new PositionToXContent(block) {
9595
@Override
9696
protected XContentBuilder valueToXContent(XContentBuilder builder, ToXContent.Params params, int valueIndex)
9797
throws IOException {

0 commit comments

Comments
 (0)