Умный поиск

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

Что такое Sphinx?

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);

Модуль доступен в административной панели магазина в меню Модули → Управление модулями → Разработчикам - Умный поиск - Включить. Затем открыть модуль в меню Модули → Умный поиск.

Результатом работы модуля будет вывод спискам категорий, в которых был найден товар с возможностью отфильтровать результат по выбранной категории и сами товары.

Если внутренний поиск не дал результатов, то есть возможность запросить поиск товаров в Яндексе через YandexCloud.

Подключение Sphinx на хостинге Beget

  1. В личном кабинете аккаунта хостинга Beget в разделе Сервисы активируйте сервис Sphinx.

  2. Инструкция по использованию сервиса Sphinx на хостинге Beget.

  3. В качестве конфигурационного файла sphinx.conf для Sphinx используйте данных из закладки Конфигурация в настройках модуля.

Подключение Sphinx на других хостингах

  1. Установите или активируйте поисковой сервис Sphinx.

  2. В качестве примера конфигурационного файла sphinx.conf для Sphinx используйте данных из закладки Конфигурация в настройках модуля. Параметры log, query_log, pid_file, path зависят от хостинга и операционной системы на нем. Правильность указания этих параметров следует уточнить в поддержке хостинга.

Настройка модуля

  1. Указать адрес поискового сервера Sphinx, по умолчанию 127.0.0.1.

  2. Указать порт поискового сервера Sphinx, по умолчанию 9306.

  3. При изменении параметров "Минимальное количество символов в слове для индексации" и "Учитывать опечатку при длине поискового запроса от" следует обновить конфигурационный файл sphinx.conf для Sphinx на поисковом сервере и произвести индексацию средствами хостинга.

  4. При наличии активной подписки YandexCloud можно включить режим поиска товаров в Яндексе если ничего не найдено во внутреннем поиске.

Подключение Sphinx на хостинге Beget и использование его на других хостингах

Ваш сайт может находится на любом хостинге, а поисковой сервер Sphinx может быть использован как отдельный сервис на хостинге Beget.

  1. Зарегистрироваться на хостинге Beget.

  2. В личном кабинете аккаунта хостинга Beget в разделе Сервисы активируйте сервис Sphinx.

  3. Инструкция по использованию сервиса Sphinx на хостинге Beget.

  4. Включите на своем хостинге доступ к базе данных MySQL по внешнему IP-адресу

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

  6. В личном кабинете аккаунта хостинга Beget в разделе Сервисы - Sphinx - Поисковой сервер активировать внешний доступ и указать IP-адрес своего сайта.

Режим работы модуля

  1. Модуль активируется автоматически при наличии активной технической поддержки.

  2. Модуль деактивируется автоматически при отсутствии активной технической поддержки.

  3. Дата окончания работы модуля доступна в закладке О модуле - Окончание работы.

  4. Техническая поддержка по работе поискового сервера Sphinx и его настройка осуществляется технической службой хостинга.

Модуль доступен для версии PHPShop 6.5.1+ и только при активной технической поддержке

Last updated