Онлайн-руководство разработчика NetCat
Модуль «Поиск по сайту» 12.2.1Начало работы с модулем 12.2.2Язык запросов 12.2.3Способы хранения индекса 12.2.4Интерфейс модуля в панели управления сайтом 12.2.5Области индексирования 12.2.6Области HTML-страниц 12.2.7Области поиска на сайте 12.2.8Индексирование по расписанию, запуск индексирования в фоновом режиме 12.2.9Правила индексирования 12.2.10Постановка задачи переиндексирования в очередь 12.2.11Интеграция модуля в макеты дизайна сайта 12.2.12Простая форма поиска 12.2.13Расширенная форма поиска 12.2.14Вывод результатов поиска 12.2.15Стилизация списка подсказок 12.2.16Расширенные настройки 12.2.17Разработка расширений модуля 12.2.18Обзор архитектуры модуля 12.2.19Обработчики документов различных типов 12.2.20Текстовые фильтры 12.2.21Анализаторы текста 12.2.22Корректировщики запросов 12.2.23Подключение других поисковых систем 12.2.24Решение проблем с поиском 12.2.25Решение проблем с индексированием 12.2.26Справочник API

Способы хранения индекса

В комплекте поставки модуля реализованы два способа хранения индекса: адаптер для библиотеки Zend_Search_Lucene и хранение индекса в базе данных MySQL.

Zend_Search_Lucene

Zend_Search_Lucene является портированной на PHP версией библиотеки Lucene. Преимуществами данной библиотеки являются продвинутый язык запросов, быстрый поиск, компактный размер индекса. Индекс хранится на диске в папке netcat_files/Search/Lucene.

Данный механизм поиска выбран по умолчанию.

При индексировании Zend_Search_Lucene требует относительно много ресурсов сервера (время непрерывной работы, количество открытых файлов, нагрузка на процессор), которые могут не удовлетворяться на дешёвых тарифных планах некоторых хостинг-провайдеров.

Хранение индекса в базе данных MySQL

Альтернативным способом является хранение индекса в базе данных MySQL. Данный способ требует гораздо большего объема дискового пространства, но предъявляет меньшие требования к ресурсам сервера при индексировании. Скорость поиска сопоставима со скоростью поиска при использовании Zend_Search_Lucene; индексирование производится несколько быстрее, чем при использовании Zend_Search_Lucene. Поддерживаются все возможности поисковых запросов без ограничений.

Использование других поисковых библиотек

Существует возможность подключения других поисковых библиотек, таких как Solr, Sphinx, Яндекс.Сервер, Яндекс.XML, Google Site Search и т. д. Подробнее см. раздел «Подключение других поисковых систем».

Смена механизма хранения индекса

Для смены поискового механизма измените значение поля SearchProvider на вкладке «Настройки» — «Системные» в панели управления модулем:

  • nc_search_provider_zend — для использования Zend_Search_Lucene
  • nc_search_provider_index — для хранения индекса в базе данных MySQL
Описание проекта