В одном из приложений, которым я занимаюсь в свободное время, мы с другом решили добавить раздел рекомендаций. С помощью такого раздела пользователи, взаимодействующие с одним продуктом, будут получать рекомендации других похожих продуктов. Я уже немного читал об этой проблеме и, похоже, она не тривиальна. И поскольку я люблю сложные задачи, решил написать свой простой рекомендательный движок.
Чтобы быть уверенным, что я не заброшу этот проект слишком быстро, я решил принять участие в Redis Hackathon не ради призов или великолепия, а чтобы повеселиться с ограничениями и, возможно, сотрудничать с другими через серию постов.
Мои первоначальные мысли — использовать Redis для потока пользовательских событий и хранения соответствующих продуктов (в конечном итоге QuestDB, но эй, это Redis Hackathon!). Алгоритмы? Все еще исследую, но самым простым для реализации кажется индекс Жаккара, расширенный весами отдельных событий.
Если вам интересно это путешествие, следуйте за мной, и в следующем посте мы начнем приключение!