[
https://issues.apache.org/jira/browse/CALCITE-7068?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yu Xu updated CALCITE-7068:
---------------------------
Description:
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.
was:
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.
> 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
> Priority: Major
> 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)