Просмотров: 7356 (Статистика ведётся с 06.02.2017)

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

Если по каким-либо причинам не используется эталонная среда Виртуальная машина BitrixVM версии 7.0 и выше, в которую уже включен Sphinx, то можно настроить его самим, следуя данным рекомендациям.

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

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

    Например, пусть директория файлов настроек Sphinx по умолчанию будет /etc/sphinxsearch/.

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

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

    Секция 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.
  4. Далее необходимо сделать рестарт Sphinx-a.
  5. Затем перейти на страницу продукта «1С-Битрикс» Настройки модуля Поиск (Настройки > Настройки продукта > Настройки модулей > Поиск) и сделать настройки для подключения Sphinx-а в качестве поискового механизма:

    • Полнотекстовый поиск с помощью - выбрать Sphinx;
    • Строка подключения для управления индексом (протокол MySql) - указывается ip-адрес и порт подключения для индексации через протокол MySQL;
    • Идентификатор индекса - указать имя индекса (например, bitrix);
    • Также на этой странице для справки указан пример конфигурационного файла для индекса Sphinx-a в продуктах «1С-Битрикс».
  6. После применения настроек в модуле Поиск, необходимо сделать Переиндексацию сайта в административной части с помощью одноименной кнопки - о чем сообщит мастер настройки:

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

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

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



33


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