Потому что вы должны сделать полное сканирование всего индекса, чтобы проверить, соответствует ли каждый отдельный термин или нет.Вот почему в документации четко указано, что она медленная.
Лучше использовать стратегию на основе ngram, если вы хотите получить более быстрые результаты, но это идет с ценой во время индексации, чем больше времени для индексации контента и большего количества диска.пробел.
Компромисс может заключаться в том, чтобы не использовать первый знак %
, такой как:
CAPTION LIKE 'TES%'
OR CAPTION LIKE 'ASD%'
OR CAPTION LIKE 'DSSS%'
OR CAPTION LIKE 'VBCVB%'
OR CAPTION LIKE 'ASDAS%'
OR CAPTION LIKE 'GDGDF%'
Поскольку Elasticsearch может затем выполнить некоторую оптимизацию, которая будет проверять не каждый отдельный термин в индексе, а толькоподмножество.