Не могу создать ElasticSearch запрос аналогичный SQl:
SELECT * FROM store
WHERE name LIKE 'сбер%'.
Стоит задача, что бы совпадение слова начиналось только с левой стороны:
сбербанк,
сбермаркет,
сберкнижка.
pro
сбер уже не должен быть в выдаче результатов.
Узнал, что у ES есть sql транслятор запросов, но чет тоже не помогло. Вот оставлю curl запрос в терминале:
curl -X POST "localhost:9200/_sql/translate" -H 'Content-Type: application/json' -d' { "query": "SELECT * FROM coupon WHERE cp_name LIKE '"'"'tion%'"'"'", "fetch_size": 10 } '
{"error":{"root_cause":[{"type":"verification_exception","reason":"Found 1 problem\nline 1:28: [cp_name LIKE 'tion%'] cannot operate on field of data type [text]: No keyword/multi-field defined exact matches for
[cp_name]; define one or use MATCH/QUERY instead"}],"type":"verification_exception","reason":"Found 1 problem\nline 1:28: [cp_name LIKE 'tion%'] cannot operate on field of data type [text]: No keyword/multi-fie
ld defined exact matches for [cp_name]; define one or use MATCH/QUERY instead"},"status":400}