Ответ 1
Определить "лучше"... Полнотекстовый поиск sql довольно тривиален, чтобы получить работу (индексирование и запрос), но у него есть штрафы:
- очень мало (практически нет) контроля над тем, как индексируются вещи (что такое ключи индекса, какие лексеры/стволовые/и т.д. и т.д.).
- выполняется на сервере sql - обычно это наименее масштабируемая инфраструктура.
Упругий поиск требует больше работы; вам необходимо настроить и поддерживать выделенный кластер узлов, а затем предоставить код, который выполняет фактические операции индекса, что также может включать запланированное задание, которое работает из журнала изменений (обработка новых/отредактированных данных), создание фрагментов индексируются; В равной степени вам нужно больше времени на создание запроса. Но вы получаете большой контроль над индексом и запросом и масштабируемость (кластер может быть любого размера, который вам нужен). Если это помогает, Qaru вырос на полнотекстовом поисковом режиме sql, а затем перешел в эластичный поиск, когда ограничения (обе функции и производительность) оказались непомерно высокими.