Unit test to validate copy_to for semantic_text field in esql (#128795)
* Unit test to validate copy_to for semantic_text field in esql * Fix the unit test * fix test for single node
This commit is contained in:
parent
dc3d515226
commit
fa152a9182
|
@ -16,8 +16,11 @@ import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import static org.elasticsearch.test.ListMatcher.matchesList;
|
||||||
|
import static org.elasticsearch.test.MapMatcher.matchesMap;
|
||||||
import static org.hamcrest.Matchers.equalTo;
|
import static org.hamcrest.Matchers.equalTo;
|
||||||
import static org.hamcrest.core.StringContains.containsString;
|
import static org.hamcrest.core.StringContains.containsString;
|
||||||
|
|
||||||
|
@ -49,6 +52,27 @@ public abstract class SemanticMatchTestCase extends ESRestTestCase {
|
||||||
assertEquals(404, re.getResponse().getStatusLine().getStatusCode());
|
assertEquals(404, re.getResponse().getStatusLine().getStatusCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testCopyToWithSemanticText() throws IOException {
|
||||||
|
assumeTrue("semantic text capability not available", EsqlCapabilities.Cap.SEMANTIC_TEXT_FIELD_CAPS.isEnabled());
|
||||||
|
|
||||||
|
var request = new Request("POST", "/test-semantic4/_doc/id-1");
|
||||||
|
request.addParameter("refresh", "true");
|
||||||
|
request.setJsonEntity("{\"text_field\": \"inference test\"}");
|
||||||
|
assertEquals(201, adminClient().performRequest(request).getStatusLine().getStatusCode());
|
||||||
|
|
||||||
|
String query = """
|
||||||
|
from test-semantic4
|
||||||
|
""";
|
||||||
|
Map<String, Object> result = runEsqlQuery(query);
|
||||||
|
|
||||||
|
assertResultMap(
|
||||||
|
result,
|
||||||
|
matchesList().item(matchesMap().entry("name", "semantic_text_field").entry("type", "text"))
|
||||||
|
.item(matchesMap().entry("name", "text_field").entry("type", "text")),
|
||||||
|
List.of(List.of("inference test", "inference test"))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUpIndices() throws IOException {
|
public void setUpIndices() throws IOException {
|
||||||
var settings = Settings.builder().build();
|
var settings = Settings.builder().build();
|
||||||
|
@ -82,6 +106,20 @@ public abstract class SemanticMatchTestCase extends ESRestTestCase {
|
||||||
}
|
}
|
||||||
""";
|
""";
|
||||||
createIndex(adminClient(), "test-semantic3", settings, mapping3);
|
createIndex(adminClient(), "test-semantic3", settings, mapping3);
|
||||||
|
|
||||||
|
String mapping4 = """
|
||||||
|
"properties": {
|
||||||
|
"semantic_text_field": {
|
||||||
|
"type": "semantic_text",
|
||||||
|
"inference_id": "test_dense_inference"
|
||||||
|
},
|
||||||
|
"text_field": {
|
||||||
|
"type": "text",
|
||||||
|
"copy_to": "semantic_text_field"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
""";
|
||||||
|
createIndex(adminClient(), "test-semantic4", settings, mapping4);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
|
|
Loading…
Reference in New Issue