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

Урок 239 из 257
Автор: Роберт Басыров
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
3 из 5
Просмотров: 77595
Дата изменения: 22.08.2024
Недоступно в лицензиях:
Текущую редакцию Вашего 1С-Битрикс можно просмотреть на странице Обновление платформы (Marketplace > Обновление платформы).
Ограничений нет

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

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

Внимание! Ограничения на версию Sphinx: не ниже 2.1.1, максимальная - 2.2.11. Версии Sphinx 3.x.x в настоящее время не поддерживаются.

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

  1. Установите пакет Sphinx в свою среду. Процесс установки отличается в зависимости от используемой операционной системы (ОС) и подробно описан в документации раздела Installation на официальном сайте Sphinx. Раздел архив официального сайта содержит пакеты версий 2.x.x для различных ОС.

    Пусть директория файлов настроек Sphinx - /etc/sphinxsearch/.
    Примечание: Путь хранения файлов настроек различается в зависимости от используемой операционной системы. Так для Centos по умолчанию это /etc/sphinx/, а для Debian/Ubuntu - /etc/sphinxsearch/. Также при установке Sphinx Вы можете указать свой вариант.
  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) для морфологического поиска, которые нужно предварительно скачать и поместить в данную директорию.
    Секция index bitrix:
    • path - путь и название файлов индекса;
    • charset_type - указывается кодировка сайта:
      • для кодировки UTF - utf-8;
      • для остальных - sbcs.
      Примечание: Начиная с версии 2.2.2 в Sphinx поддерживается только кодировка UTF-8. На сайтах с кодировкой Windows-1251 поиск Sphinx'ом работать не будет.
  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С-Битрикс»