Таким образом, согласно Документация оракула для catsearch невозможно использовать усеченные влево поиски с текстовым запросом catsearch.Тем не менее, я обнаружил, что использование двойных символов подстановки действительно приводит к желаемому эффекту усеченных влево запросов.
Например, select * from foo where CATSEARCH(bar, '**zing', '')>0;
будет находить записи со столбцом, имеющим значение "это потрясающе", тогда как select * from foo where CATSEARCH(bar, '*zing', '')>0;
не будет't
Для конфигурации моего списка слов я включил substring_index и prefix_index .В описании substring_index упоминается использование подстановочного знака (усеченного влево) (и двойного усечения).
Я не могу найти никаких причин относительно того, почему / как работает использование двойного символа подстановки, насколько оно оптимизировано и действительно ли оно или нету него есть другие побочные эффекты.
Итак, главные вопросы:
- Почему этот синтаксис работает, есть ли где-нибудь, что это описано?
- равно, с точки зрения производительности?
- Есть ли какие-либо другие побочные эффекты, о которых следует знать людям, использующим этот синтаксис?