#Умный поиск - Разработчикам
Морфологический поиск с использованием облачного кеширования данных Sphinx.
#Умный поиск

#Что такое Sphinx?
Это система полнотекстового поиска, разработанная Андреем Аксёновым и распространяемая по лицензии GNU GPL либо, для версий 3.0+ без исходных кодов.
Sphinx является некоммерческим проектом с открытым исходным кодом, разрабатываемым более 10 лет, автором которого является Андрей Аксенов.
Sphinx (англ. SQL Phrase Index) — система полнотекстового поиска, отличительной особенностью которого является высокая скорость индексации и поиска, а также интеграция с существующими СУБД.
Использование Sphinx значительно повышает скорость поиска и снижает затраты ресурсов. Основные возможности Sphinx:
- высокая скорость индексации (до 10-15 МБ/с на каждое процессорное ядро);
- высокая скорость поиска (до 150—250 запросов в секунду на каждое процессорное ядро с 1 000 000 документов);
- высокая масштабируемость (крупнейший известный кластер индексирует до 3 000 000 000 документов и поддерживает более 50 миллионов запросов в день);
- поддержка распределенного поиска;
- поддержка нескольких полей полнотекстового поиска в документе (до 32 по умолчанию);
- поддержка нескольких дополнительных атрибутов для каждого документа (то есть группы, временные метки и т. д.);
- поддержка стоп-слов;
- поддержка однобайтовых кодировок и UTF-8;
- поддержка морфологического поиска — имеются встроенные модули для английского, русского и чешского языков; доступны модули для французского, испанского, португальского, итальянского, румынского, немецкого, голландского, шведского, норвежского, датского, финского, венгерского языков;
- нативная поддержка MySQL (всех типов таблиц, в том числе MyISAM, InnoDB, NDB);
Модуль доступен в административной панели магазина в меню Модули → Управление модулями → Разработчикам - Умный поиск - Включить. Затем открыть модуль в меню Модули → Умный поиск.
Результатом работы модуля будет вывод спискам категорий, в которых был найден товар с возможностью отфильтровать результат по выбранной категории и сами товары. Поддерживается так же режим синонимов для замены слов в запросах поиска.
.png)
#Подключение Sphinx на хостинге Beget
#Подключение на других хостингах
Установите или активируйте поисковой сервис Sphinx.
В качестве примера конфигурационного файла sphinx.conf для Sphinx используйте данных из закладки Конфигурация в настройках модуля.
Параметры log, query_log, pid_file, path зависят от хостинга и операционной системы на нем. Правильность указания этих параметров следует уточнить в поддержке хостинга.

Подключение сервиса Sphinx на хостинге Beget
- В личном кабинете аккаунта хостинга Beget в разделе Сервисы активируйте сервис Sphinx.Инструкция по использованию сервиса Sphinx на хостинге Beget.
- После включения сервиса на хостинге появятся два подраздела - "Индексация" и "Поисковый сервер".
- Зайдите в магазин, включите модуль в меню
Модули → Управление модулями → Разработчикам - Умный поиск - Включить. Затем откройте модуль в менюМодули → Умный поиск. Зайдите в закладкуКонфигурацияв настройках модуля. Скопируйте содержимое:
.png)
- На хостинге Бегет зайдите в раздел
Индексация - Редактор конфигурации, очистите содержимое редактора и вставьте скопированный код:
.png)
- Зайдите в раздел
Поисковый сервер - Статус сервера - Включить:
.png)
#Настройка модуля в магазине
- Перейдите в магазине и укажите:
- Адрес поискового сервера Sphinx, по умолчанию
127.0.0.1. - Укажите порт поискового сервера Sphinx, по умолчанию
9306. - Нажмите
Сохранить. - Нажмите F5 - перегрузить страницу, в модуле в закладке
Основноедолжны появиться зеленые галочки:
.png)
На хостинге Бегет должен появиться индекс:
.png)
#Проверка работы поиска
- Перейдите на витрину магазина, вбейте в поиск запрос. Нажмите ввод. Вы увидите, что поисковая выдача идет мгновенно, в результатах идет разделение найденных товаров по каталогам. При нажатии на каталог, идет поиск только в текущем каталоге:
.png)
Минимальное количество символов в слове для индексации и Учитывать опечатку при длине поискового запроса от следует обновить конфигурационный файл sphinx.conf для Sphinx на поисковом сервере и произвести индексацию средствами хостинга..png)

Настройка модуля Умный поиск
#❗️ Если вы на другом хостинге, подключите Sphinx на Beget удаленно
Ваш сайт может находится на любом хостинге, а поисковой сервер Sphinx может быть использован как отдельный сервис на хостинге Beget.

Внешний доступ к Sphinx
- Зарегистрироваться на хостинге Beget.
- В личном кабинете аккаунта хостинга Beget в разделе Сервисы активируйте сервис Sphinx.
- Инструкция по использованию сервиса Sphinx на хостинге Beget.
- Включите на своем хостинге доступ к базе данных MySQL по внешнему IP-адресу
- В качестве конфигурационного файла sphinx.conf для Sphinx используйте данных из закладки Конфигурация в настройках модуля. Вместо параметра
sql_host=127.0.0.1указать свой выделенный IP-адрес базы данных MySQLsql_host=IP_MYSQL. - В личном кабинете аккаунта хостинга Beget в разделе Сервисы - Sphinx - Поисковой сервер активировать внешний доступ и указать IP-адрес своего сайта.

Настройка модуля для доступа к Sphinx по внешнему адресу
#Режим работы модуля
- Модуль активируется автоматически при наличии активной технической поддержки.
- ❗️Модуль деактивируется автоматически при отсутствии активной технической поддержки.
- Дата окончания работы модуля доступна в закладке
О модуле-Окончание работы. - Техническая поддержка по работе поискового сервера Sphinx и его настройка осуществляется технической службой хостинга.