Определить "лучше" ... SQL полнотекстового поиска достаточно тривиально получить работу (индексирования и запроса) - но у него есть штрафы:
- очень мало (практически нет) контроля над тем, как вещи индексируются (то, что ключи индекса, то, что лексические/парадигматические/и т.д. являются, и т.д.)
- работает на SQL сервере - который, как правило, ваш минимум масштабируемой инфраструктуры
Для поиска эластичных изделий требуется больше работы; вам необходимо настроить и поддерживать выделенный кластер узлов, а затем предоставить код, который выполняет фактические операции индекса, что также может включать запланированное задание, которое работает из журнала изменений (обработка новых/отредактированных данных), создание фрагментов индексируются; В равной степени вам нужно больше времени на создание запроса. Но вы получаете большой контроль над индексом и запросом и масштабируемость (кластер может быть любого размера, который вам нужен). Если это помогает, Stack Overflow вырос на полнотекстовом поисковом режиме sql, а затем перешел в эластичный поиск, когда ограничения (обе функции и производительность) оказались непомерно высокими.
Некоторые отзывы: http://nitschinger.at/Elastic-Search-and-SQL-Server-are-sitting-in-a-tree –
@rudibruchez Я не уверен, что это «обратная связь» как таковая, но это интересная и релевантная ссылка –
Вы правы, я сказал отзыв, потому что автор комментирует jTDS vs драйвер JDBC ms, но это всего лишь предложение в статье. Это в основном учебник. Просто воспользовавшись случаем: Shpinx является конкурентом на C++: http://sphinxsearch.com/about/sphinx/ –