Просмотров: 14781
Дата последнего изменения: 14.08.2020
Сложность урока:
2 уровень - несложные понятия и действия, но не расслабляйтесь.
3
4
5
Недоступно в лицензиях:
Ограничений нет
Сервис рекомендаций в своей работе использует следующие типы событий магазина: просмотр товара, добавление в корзину, оформление заказа, оплата заказа. Вместе с этими событиями на сервер передаются следующие данные:
- кука пользователя;
- хеш лицензии;
- домен;
- идентификатор товара;
- название товара;
- категории товара;
- идентификатор рекомендации.
Работа с данными ведется в несколько этапов:
- На первом этапе все события поступают в единую точку входа bitrix.info, куда в секунду поступает порядка тысячи запросов. (Точка входа реализована на NGINX с модулем Lua.) Входящие данные накапливаются в буфере Kinesis, который хранит данные одни сутки. Затем данные достаются из буфера и обрабатываются большим количеством php-воркеров. Воркеры фильтруют данные и сохраняют их в таблицах хранилища Amazon DinamoDB.

- На втором этапе данные достаются из хранилища Amazon DynamoDB и при этом, чтобы каждый раз не сканировать базу, используются простые файлы данных, хранящиеся в Amazon S3. Затем выполняется обработка данных: данные обсчитываются с помощью batch-процессинга (используется инструментарий Apache Spark) и с помощью онлайн алгоритмов (Apache Tomcat, Apache Mahout, алгоритмов похожести пользователей, похожести товаров и семантического анализа на основе контента). В результате выбранная и обсчитанная информация в виде рекомендаций выдается из analytics.bitrix.info.

Метрики качества
Дополнительно используются следующие метрики качества сервиса рекомендаций:
- Отношение просмотров по рекомендации к просмотрам, т.е. определяется эффективность размещения компонента.
- Отношение заказов по рекомендации к просмотрам по рекомендации – этот показатель оценивает качество алгоритма, насколько релевантной оказалась рекомендация покупателю.
- Отношение заказов по рекомендации ко всем заказам.