|
Конфигурация для Sphinx 2.x
|
|---|
#
# Minimal Sphinx configuration for Bitrix (Sphinx 2.x)
#
searchd
{
listen = 9312
listen = 9306:mysql41
log = /var/log/sphinxsearch/searchd.log
query_log = /var/log/sphinxsearch/query.log
read_timeout = 5
max_children = 30
pid_file = /var/run/sphinxsearch/searchd.pid
max_matches = 1000
seamless_rotate = 1
preopen_indexes = 1
unlink_old = 1
workers = threads # for RT to work
binlog_path = /var/lib/sphinxsearch/data/
binlog_max_log_size = 512M
binlog_flush = 2
rt_flush_period = 3600
}
indexer
{
lemmatizer_cache = 128M
}
common
{
lemmatizer_base = /etc/sphinxsearch/dicts/
}
index bitrix
{
#main settings
type = rt
path = /var/lib/sphinxsearch/data/bitrix
docinfo = inline
#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
infix_fields=
min_prefix_len = 2
enable_star = 1
#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_uint = date_change
rt_attr_uint = date_to
rt_attr_uint = date_from
rt_attr_uint = custom_rank
rt_attr_multi = tags
rt_attr_multi = right
rt_attr_multi = site
rt_attr_multi = param
charset_type = utf-8
}
|
Ручная настройка поиска Sphinx
Внешний полнотекстовый поиск Sphinx позволяет сделать быстрым и качественным поиск на вашем сайте, снизить нагрузку на сервер. Он полностью интегрирован с компонентами модуля Поиск.
Если по каким-либо причинам не используется эталонная среда
Виртуальная машина VMBitrix версии 9.0.x
«1C-Битрикс: Виртуальная машина» - бесплатный программный продукт, готовый к немедленному использованию виртуальный сервер, полностью настроенный, протестированный и адаптированный для оптимальной работы как с продуктами «1С-Битрикс», так и с любыми PHP-приложениями.
Подробнее...
, в которую уже включен
Sphinx
Использование Sphinx в качестве поискового механизма позволит значительно увеличить скорость поиска и снизит нагрузку на сервер.
Подробнее...
, то можно настроить его самим, следуя данным рекомендациям.
Ручная настройка поиска Sphinx |
- Установите пакет Sphinx в свою среду. Процесс установки отличается в зависимости от используемой операционной системы (ОС) и подробно описан в документации. На официальном сайте Sphinx доступны для скачивания пакеты версий 3.x и 2.x для различных ОС.
Пусть директория файлов настроек Sphinx —/etc/sphinxsearch/.Путь хранения файлов настроек различается в зависимости от используемой операционной системы. Так для CentOS по умолчанию это/etc/sphinx/, а для Debian/Ubuntu —/etc/sphinxsearch/. Также при установке Sphinx можно указать свой вариант. - Настройте Sphinx. Выполните это с помощью конфигурационного файла
/etc/sphinxsearch/sphinx.conf.
Конфигурация зависит от версии Sphinx. Ниже приведены два примера минимальной конфигурации — для версий 2.x и 3.x.
Конфигурация для Sphinx 3.x# # Minimal Sphinx configuration for Bitrix (Sphinx 3.x) # searchd { listen = 9312 listen = 9306:mysql41 log = /var/log/sphinxsearch/searchd.log query_log = /var/log/sphinxsearch/query.log read_timeout = 5 max_children = 30 pid_file = /var/run/sphinxsearch/searchd.pid max_matches = 1000 seamless_rotate = 1 preopen_indexes = 1 unlink_old = 1 workers = threads binlog_path = /var/lib/sphinxsearch/data/ binlog_max_log_size = 512M binlog_flush = 2 rt_flush_period = 3600 } indexer { lemmatizer_cache = 128M } common { lemmatizer_base = /etc/sphinxsearch/dicts/ } index bitrix { #main settings type = rt #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 min_prefix_len = 2 #all fields must be defined exactly as followed field = title field = body attr_uint = module_id attr_string = module attr_uint = item_id attr_string = item attr_uint = param1_id attr_string = param1 attr_uint = param2_id attr_string = param2 attr_uint = date_change attr_uint = date_to attr_uint = date_from attr_uint = custom_rank attr_uint_set = tags attr_uint_set = right attr_uint_set = site attr_uint_set = param }Основные директивы, которые могут измениться в зависимости от настройки сервера и на которые следует обратить внимание:
Секция 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. Для Sphinx 2.x обратите внимание на параметры:path- путь и название файлов индекса;charset_type- укажитеutf-8, с версии 24.0.0 продукты 1С-Битрикс поддерживают только кодировку UTF-8.
- Cделайте рестарт Sphinx-a.
- Откройте страницу Настройки модуля Поиск (Настройки > Настройки продукта > Настройки модулей > Поиск) и выполните настройки для подключения Sphinx-а в качестве
поискового механизма
:
- Полнотекстовый поиск с помощью - выберите Sphinx;
- Строка подключения для управления индексом (протокол MySql) - укажите ip-адрес и порт подключения для индексации через протокол MySQL;
- Идентификатор индекса - укажите имя индекса (например,
bitrix); - Также на этой странице для справки указан пример конфигурационного файла для индекса Sphinx-a в продуктах 1С-Битрикс.
- Выполните Переиндексацию сайта в административной части с помощью одноименной кнопки - о чем сообщит
мастер настройки
.
Важно! Если в продукте «1С-Битрикс» установлен модуль Cоциальной сети, то после индексации модулем поиска, требуется переиндексация социальной сети из компонента, размещенного в публичном разделе. Для этого нужно перейти в режим разработки в любой раздел социальной сети (где установлены компоненты socialnetwork, socialnetwork_group, socialnetwork_user) и нажать на кнопку Индексация в панели инструментов:
На этом минимальная настройка Sphinx в качестве поискового механизма для продуктов «1C-Битрикс» завершена.
и Ваше мнение важно для нас