Ручная настройка поиска Sphinx

Урок 241 из 256
Автор: Александр Суворов
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
3 из 5
Просмотров: 23542
Ограничения по редакциям: Ограничений нет

Внешний полнотекстовый поиск Sphinx позволяет сделать быстрым и качественным поиск на вашем сайте, снизить нагрузку на сервер. Он доступен в продуктах «1С-Битрикс» с версии 14.0.0 и полностью интегрирован с компонентами модуля Поиск.

Если по каким-либо причинам не используется эталонная среда Виртуальная машина VMBitrix версии 7.0 «1C-Битрикс: Виртуальная машина» - бесплатный программный продукт, готовый к немедленному использованию виртуальный сервер, полностью настроенный, протестированный и адаптированный для оптимальной работы как с продуктами «1С-Битрикс», так и с любыми PHP-приложениями.
Подробнее...
и выше, в которую уже включен Sphinx Использование Sphinx в качестве поискового механизма позволит значительно увеличить скорость поиска и снизит нагрузку на сервер.
Подробнее...
, то можно настроить его самим, следуя данным рекомендациям.

Внимание! Ограничение на версию Sphinx - не ниже 2.1.1.

Ручная настройка поиска Sphinx

  1. Установите пакет Sphinx в свою среду. Как это сделать описано в документации раздела Installation на официальном сайте.

    Например, пусть директория файлов настроек Sphinx по умолчанию будет /etc/sphinxsearch/.
  2. Настройте сам Sphinx. Делается это с помощью конфигурационного файла /etc/sphinxsearch/sphinx.conf.

    Код минимальной конфигурации

    Основные директивы, которые могут измениться в зависимости от настройки сервера и на которые следует обратить внимание:

    Секция searchd:
    • listen - указывается ip-адрес, порт, путь Unix-domain socket или протокол, которые прослушивает поисковый демон (в данном случае порты: 9312, 9306 с протоколом MySQL);
    • log - имя log-файла работы Sphinx-a и его расположение;
    • query_log - имя log-файла поисковых запросов Sphinx-a и его расположение;
    • binlog_path - путь, где хранятся бинарные логи (важный параметр, если указать директорию, на запись в которую нет прав, то поисковый демон не запустится);
    • binlog_max_log_size - максимальный объем файла бинарного лога, после которого будет создан новый файл.

    Секция indexer:
    • lemmatizer_cache - максимальный объем кэша словарей морфологического поиска;
    • lemmatizer_base - директория хранения языковых словарей (ru.pak, en.pak, de.pak) для морфологического поиска, которые нужно предварительно скачать и поместить в данную директорию.

      Внимание! Директива lemmatizer_base c версии Sphinx 2.2.1+ располагается в секции common:
      common
          {
                lemmatizer_base = /etc/sphinxsearch/dicts/
          }
      

    Секция index bitrix:
    • path - путь и название файлов индекса;
    • charset_type - указывается кодировка сайта:
      • для кодировки UTF - utf-8;
      • для остальных - sbcs.
  3. Cделайте рестарт Sphinx-a.
  4. Откройте страницу Настройки модуля Поиск (Настройки > Настройки продукта > Настройки модулей > Поиск) и выполните настройки для подключения Sphinx-а в качестве поискового механизма :
    • Полнотекстовый поиск с помощью - выберите Sphinx;
    • Строка подключения для управления индексом (протокол MySql) - указыжите ip-адрес и порт подключения для индексации через протокол MySQL;
    • Идентификатор индекса - укажите имя индекса (например, bitrix);
    • Также на этой странице для справки указан пример конфигурационного файла для индекса Sphinx-a в продуктах 1С-Битрикс.
  5. Выполните Переиндексацию сайта в административной части с помощью одноименной кнопки - о чем сообщит мастер настройки .

    Важно! Если в продукте «1С-Битрикс» установлен модуль Cоциальной сети, то после индексации модулем поиска, требуется переиндексация социальной сети из компонента, размещенного в публичном разделе. Для этого нужно перейти в режим разработки в любой раздел социальной сети (где установлены компоненты socialnetwork, socialnetwork_group, socialnetwork_user) и нажать на кнопку Индексация в панели инструментов:

На этом минимальная настройка Sphinx в качестве поискового механизма для продуктов «1C-Битрикс» завершена.

Примечание: Информацию для более тонкой настройки поискового механизма Sphinx можно найти в официальной документации этого продукта.



Текст раскрывает тему
Мы стараемся сделать документацию понятнее и доступнее,
и Ваше мнение важно для нас
Нам жаль это слышать… Но мы постараемся быть лучше! Поясните, пожалуйста, свой выбор:

Мы благодарны вам за помощь в улучшении документации.

Курсы разработаны в компании «1С-Битрикс»