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

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

Что такое  Sphinx

Sphinx - система полнотекстового поиска, реализованная в виде стороннего бесплатного програмнного обеспечения. Основными приемуществами системы являются:

  • высокая скорось работы
  • снижение нагрузки на сервер
  • поддержка морфологического поиска
  • улучшение качества поисковой выдачи

Поддержка Sphinx реализована в 1С-Битрикс начиная с версии 14.0.0.

Настройка Sphinx в BitrixVM

Настройка Sphinx в BitrixVM производится через меню. Для этого вам нужно подключиться к серверу через SSH и затем выбрать:

7. Configure Sphinx service for the pool

Настройка Sphinx для 1С-Битрикс

Далее выбираем:

1. Create sphinx instance on the server

Настройка Sphinx для 1С-Битрикс

 

И затем вводим значение вашего Hostname:

Настройка Sphinx для 1С-Битрикс

На следующем шаге в строке

Enter the name of the database that will use sphinx

введите имя базы данных вашего сайта. В BitrixVM имя базы данных по умолчанию sitemanager, но у вас может быть другое название.

Настройка Sphinx для 1С-Битрикс

В новой настройке

Re-index the site after creating a sphinx instance?

Подтвердите операцию вводом "y" и нажав Enter. Это запустить задачу по настройке Sphinx в Битриксе.

Настройка Sphinx для 1С-Битрикс

Посмотреть статус задачи вы можете через основное меню:
9. Configure Push/RTC service for the pool -> 1. View running tasks

Настройка Sphinx в админ панели Битрикса

После завершения задачи переходим к настройке Shinx в административной панели 1С-Битрикс. После авторизации переходим сразу к настрйокам:

сайт.ру/bitrix/admin/settings.php?lang=ru&mid=search&mid_menu=1

Переходим на вкладку "Морфология" и в настройке "Полнотекстовый поиск с помощью" в выпадающем списке выбираем Sphinx. Остальные настройки оставляем без изменений. Пока не сохраняем настройки.

Bitrix настройка Сфинкс

Тут же вы увидите настройки, которые нужно добавить в конфигурационный файл Sphinx

Настройка Sphinx для 1С-Битрикс

Рекомендуем внести небольшие изменения в эти настройки. В итоге они примут вид:

#sphinx.conf
index bitrix
{
    #main settings
    type = rt
    path = /tmp/bitrix
    ondisk_attrs=1
    #choose appropriate type of morphology to use
    #morphology = lemmatize_ru_all, lemmatize_en_all, lemmatize_de_all, stem_enru
    morphology = stem_enru, soundex
    #these settings are used by bitrix:search.title component
    dict = keywords
    #prefix_fields = title
    min_prefix_len = 2
    #all fields must be defined exactly as followed
    rt_field = title
    rt_field = body
    rt_attr_uint = module_id
    rt_attr_string = module
    rt_attr_uint = item_id
    rt_attr_string = item
    rt_attr_uint = param1_id
    rt_attr_string = param1
    rt_attr_uint = param2_id
    rt_attr_string = param2
    rt_attr_timestamp = date_change
    rt_attr_timestamp = date_to
    rt_attr_timestamp = date_from
    rt_attr_uint = custom_rank
    rt_attr_multi = tags
    rt_attr_multi = right
    rt_attr_multi = site
    rt_attr_multi = param
}

Конфигурационный файл Sphinx находится на сервере по пути /etc/sphinx/sphinx.conf. Добавьте в конец этого файла настройки выше.

Также вы можете скачать полный файл настроек Sphinx по ссылке sphinx.conf

После добавления настроек рекомендуем перезапустить Sphinx

Сначала остановка:

searchd --stop

Затем запуск

searchd

Теперь можно сохранить настройки в Битриксе и если подключение к Sphinx прошло без ошибок, то вы увидите сообщение "Требуется выполнить полную переиндексацию модулем поиска". После этого выполните "Переиндексацию сайта"

Bitrix настройка Сфинкс

На последнем шаге выберите нужные настройки и нажмите "Переиндексировать".

После окончания переиндексации настройка Sphinx для Битрикс завершена.