2013-12-11 4 views
12

Я хочу использовать полнотекстовый поиск в моем проекте ... Может кто-нибудь объяснить мне, в чем разница между ElasticSearch и SQL полнотекстового поискаElasticSearch против SQL полнотекстового поиска

Или

почему SQL Full Текстовый поиск лучше (хуже), чем эластичный?

Документация, презентация, схема ...

ответ

24

Определить "лучше" ... SQL полнотекстового поиска достаточно тривиально получить работу (индексирования и запроса) - но у него есть штрафы:

  • очень мало (практически нет) контроля над тем, как вещи индексируются (то, что ключи индекса, то, что лексические/парадигматические/и т.д. являются, и т.д.)
  • работает на SQL сервере - который, как правило, ваш минимум масштабируемой инфраструктуры

Для поиска эластичных изделий требуется больше работы; вам необходимо настроить и поддерживать выделенный кластер узлов, а затем предоставить код, который выполняет фактические операции индекса, что также может включать запланированное задание, которое работает из журнала изменений (обработка новых/отредактированных данных), создание фрагментов индексируются; В равной степени вам нужно больше времени на создание запроса. Но вы получаете большой контроль над индексом и запросом и масштабируемость (кластер может быть любого размера, который вам нужен). Если это помогает, Stack Overflow вырос на полнотекстовом поисковом режиме sql, а затем перешел в эластичный поиск, когда ограничения (обе функции и производительность) оказались непомерно высокими.

+0

Некоторые отзывы: http://nitschinger.at/Elastic-Search-and-SQL-Server-are-sitting-in-a-tree –

+0

@rudibruchez Я не уверен, что это «обратная связь» как таковая, но это интересная и релевантная ссылка –

+0

Вы правы, я сказал отзыв, потому что автор комментирует jTDS vs драйвер JDBC ms, но это всего лишь предложение в статье. Это в основном учебник. Просто воспользовавшись случаем: Shpinx является конкурентом на C++: http://sphinxsearch.com/about/sphinx/ –

Смежные вопросы