This meta issue tracks adding support for semantic_text to ES|QL.
[x] #113920
[ ] #115166
[x] #115243
[ ] Add support for semantic_text in the match function - we will need to issue requests to the the inference service to get the embeddings for the query string on the coordinator and then push down the match function as a semantic query when semantic_text fields are used https://github.com/elastic/elasticsearch/pull/116253
[ ] bug fix: semantic_text fields are returned as nulls when using copy_to
[ ] Full support in Kibana (TBD what this entails)
[ ] Finally, once the previous items are done: enable feature flag outside of snapshot builds and change documentation to reflect the support for semantic_text
Follow-ups:
[ ] use MatchQueryBuilder when match query supports semantic_text (relates to SEARCH-688)
[ ] unmute serverless test for org.elasticsearch.xpack.esql.qa.mixed.EsqlClientYamlIT test {p0=esql/40_unsupported_types/semantic_text declared in mapping}
This work will take a while, but can be paralleled once the initial step is merged, thus unblock adding support for semantic_text in the match function.
This meta issue tracks adding support for
semantic_text
to ES|QL.match
function - we will need to issue requests to the the inference service to get the embeddings for the query string on the coordinator and then push down the match function as a semantic query when semantic_text fields are used https://github.com/elastic/elasticsearch/pull/116253semantic_text
such that it has the same support as keyword and text which are simply seen as string fields: https://github.com/elastic/elasticsearch/blob/dcbbbabd3d1b78bd4658ab69e85e7c55bcc8fced/x-pack/plugin/esql-core/src/main/java/org/elasticsearch/xpack/esql/core/type/DataType.java#L356-L358 With this change we will be able to usesemantic_text
fields in the same way we usekeyword
andtext
and be able to passsemantic_text
field to any function/operator that can accept string fields.semantic_text
fields are returned as nulls when usingcopy_to
semantic_text
Follow-ups:
MatchQueryBuilder
whenmatch
query supportssemantic_text
(relates to SEARCH-688)build.gradle
changes from https://github.com/elastic/elasticsearch/pull/116253 ? - maybex-pack-esql-core
does not needx-pack-ml
anymore.org.elasticsearch.xpack.esql.qa.mixed.EsqlClientYamlIT test {p0=esql/40_unsupported_types/semantic_text declared in mapping}
This work will take a while, but can be paralleled once the initial step is merged, thus unblock adding support for
semantic_text
in thematch
function.