You can translate the question and the replies:

Elastic Datatype Text and the LIKE operator

We have created a base view to an Elasticsearch data source which has a field named "logmessage" with a datatype of "text". select * from bv_elastic where logmessage like 'something%' When using the LIKE operator on this "text" field, we receive the error: QUERY [VIRTUAL] [ERROR] QUERY [JDBC WRAPPER] [ERROR] QUERY [JDBC ROUTE] [ERROR] Received exception with message 'Found 1 problem(s) line 1:362: [t0.logmessage like ?] cannot operate on field of data type [text]: No keyword/multi-field defined exact matches for [logmessage]; define one or use MATCH/QUERY instead' However columns with datatype 'keyword', the LIKE operator works just fine. It is my understanding that 'text' datatypes should be searchable, but maybe the JDBC connector or Denodo is treating the 'text' datatype differently. Anyone have any insight or encountered this before?
user
12-12-2019 10:26:31 -0500

1 Answer

Hi, I believe that there are some restrictions when accessing elasticsearch through JDBC. One of them is that: the LIKE operator works as expected when text field is defined with modifier the "analyzer": "keyword". More details can be found in the documentation [here](https://community.denodo.com/docs/html/browse/7.0/vdp/administration/creating_data_sources_and_base_views/jdbc_sources/jdbc_sources). Search for elasticsearch on this page. I hope this helps.
Denodo Team
12-12-2019 23:40:08 -0500
You must sign in to add an answer. If you do not have an account, you can register here