Yu Xu created CALCITE-7068:
------------------------------
Summary: ElasticSearch adapter support like operator
Key: CALCITE-7068
URL: https://issues.apache.org/jira/browse/CALCITE-7068
Project: Calcite
Issue Type: Improvement
Components: core
Affects Versions: 1.40.0
Reporter: Yu Xu
Assignee: Yu Xu
Fix For: 1.41.0
Currently ElasticSearch adapter not support like operator.
sql as follow:
{code:java}
select * from db.table where column0 like 'aa%';
{code}
would error out:
{code:java}
Suppressed: java.lang.UnsupportedOperationException: LIKE not yet supported
at
org.apache.calcite.adapter.elasticsearch.PredicateAnalyzer$Visitor.binary(PredicateAnalyzer.java:376)
at
org.apache.calcite.adapter.elasticsearch.PredicateAnalyzer$Visitor.visitCall(PredicateAnalyzer.java:255)
at
org.apache.calcite.adapter.elasticsearch.PredicateAnalyzer$Visitor.visitCall(PredicateAnalyzer.java:128)
at org.apache.calcite.rex.RexCall.accept(RexCall.java:208) {code}
according document:
[https://www.elastic.co/guide/en/elasticsearch/reference/8.18/query-dsl-query-string-query.html#query-string-wildcard]
*Wildcard searches can be run on individual terms, using ? to replace a single
character, and {{*}} to replace zero or more characters:*
so like query can be:
{code:java}
GET /my_index/table_name/_search
{
"query": {
"wildcard": {
"field_name": "a*"
}
}
}
GET /my_index/table_name/_search
{
"query": {
"wildcard": {
"field_name": "a?"
}
}
} {code}
Like operator is important for ElasticSearch users, so we need to support it in
ElasticSearch Adapter.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)