Поиск по сайту на MODX Revolution

Поиск по сайту - один из элементов навигации по сайту. И весьма часто этот механизм является хорошим помощником для посетителей, позволяющим ориентироваться в обилии имеющегося на сайте материала.

Рассмотрим самые популярные варианты реализации поиска для сайта, созданного на MODX Revolution.

SimpeSearch

Самое простое решение для поиска по сайту. Ищет вхождения запроса в таблицах БД и формирует результат.

Дополнение доступно в репозитории MODX: http://modx.com/extras/package/simplesearch
Документация: http://rtfm.modx.com/display/ADDON/SimpleSearch

Плюсы:
+ простая установка;
+ устанавливается на наш сервер;
+ моментальное попадание новой публикации в поиск;
+ быстрое включение/исключение публикации из поиска штатными средствами (галочка при редактировании документа).

Минусы:
- поиск без учета морфологии;
- в поиск не попадает содержимое "динамических" страниц, т.е. например список товаров в разделе не будет участвовать в поиске, т.к. он формируется динамически.

mSearch

Более серьезное решение для поиска, его основной плюс в том, что учитывается морфология языка.

Кроме того, mSearch позволяет помимо поиска строить фильтры, например в каталогах товара.

Дополнение доступно в репозитории MODX: http://modx.com/extras/package/msearch
Документация: http://bezumkin.ru/modx/msearch/

Плюсы:
+ поиск с учетом словоформ и морфологии;
+ простая установка;
+ устанавливается на наш сервер;
+ моментальное попадание новой публикации в поиск;
+ быстрое включение/исключение публикации из поиска штатными средствами (галочка при редактировании документа).
+ возможность поиска по TV параметрам;

Минусы:
- вероятно, не очень шустрая работа на больших сайтах, т.к. поиск идет по индексу и по большому кол-ву вариаций написания запроса;
- требует создания индекса;
- в поиск не попадает содержимое "динамических" страниц;
- поиск только по одному языку.

Поиск от Яндекс, Google, etc

Гиганты поиска в мировой паутине, такие как Google, Яндекс и другие предлагают механизм интеграции их поиска на ваш сайт.

Установка, как правило, производится весьма просто, путем добавления специального кода на страницу.

Поиск от Яндекс: http://site.yandex.ru/searches/new/
Поиск от Google: http://www.google.com/cse/?hl=ru

Плюсы:
+ совсем простая установка;
+ отсутсвие нагрузки на сайт (актуально для крупных сайтов);
+ можно зарабатывать, показывая рекламу на странице поиска (этот плюс подходит, конечно, не всем сайтам).

Минусы:
- в поиске участвуют только страницы, находящиеся в поисковом индексе;
- нельзя моментально убрать какую-либо страницу из поиска, или добавить ее;
- проходит некоторое время от публикации статьи до ее участия в поиске.

Кстати, для первого минуса у Яндекс есть решение, подробно описанное здесь: http://site.yandex.ru/cms-plugins/

Своя поисковая система?

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

Итог

Итак, если у вас небольшой сайт, то есть смысл поиставить SimpleSearch или mSearch.

Если у вас Интернет-магазин, возможно ваш выбор - mSearch, так как он имеет встроенный фильтр. Почти наверняка это будет mSearch, если магазин создан с применением компонента miniShop, т.к. эти 2 дополнения "созданы друг для друга".

Если большая часть контента на сайте генерируется пользователями, вам стоит обратить внимание на более взрослые решения: mSearch, интеграцию механизмов поиска от Яндекс или Google.

Ну и наконец для специфичных случаев, возможно, потребуется написать свой механизм поиска.