Сравнение:Полнотекстовый поиск по базе данных в поисковой системе (Lucene)

StackOverflow https://stackoverflow.com/questions/299167

Вопрос

С точки зрения stackoveflow.com (команда из 2-3 инженеров, создающих проект веб-сайта, предназначенного для масштабирования), имеет ли смысл тратить усилия на ранних этапах процесса разработки на создание поиска на основе Lucene/Autonomy… в отличие от базы данных, основанной на базе данных? полнотекстовый поиск.

За и против:
При зрелой реализации Lucene, такой как nutch или автономия, стоимость перехода на Lucene (что неизбежно) на более позднем этапе незначительна.
В больших объемах добавить дополнительные индексные серверы (скажем, с помощью nutch) для поддержания растущего поискового индекса относительно легко.
При реализации Lucene мне, скорее всего, понадобится дополнительный сервер для хранения индекса в памяти (гораздо раньше в процессе масштабирования).

Это было полезно?

Решение

Производительность полнотекстового поиска в базе данных варьируется от базы данных к базе данных, но это, безусловно, самый простой вариант настройки.Так что начните с этого и переходите к lucene или sphinx, если это окажется слишком медленным.

Другие советы

Однако вам следует держать его изолированным — не начинайте разбрасывать SELECT по всему коду, если вы знаете, что замените их запросом поисковой системы.Оберните полнотекстовый поиск в вашей БД тонким слоем абстракции, который гарантирует, что вы не будете использовать возможности базы данных там, где не следует.

Однако я поддерживаю принятый ответ: преждевременная оптимизация здесь определенно является злом.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top