Как оформить рекомендательную страницу - PullRequest
0 голосов
/ 10 января 2011

У меня есть приложение, которое позволяет пользователям слушать музыку.У каждого артиста свой жанр.Песни не имеют жанров.

Мне нужна страница с рекомендациями в зависимости от жанра песни, который пользователь просматривает время от времени.

Рассмотрим этот пример.

Я получил: Пользователь Joe Artist Ben.Имеет жанр акустика.Имеет 1 песню.Художник Алексей.Имеет жанр джаз, имеет 1 песню.Художник Ханна.Имеет жанр акустика.Имеет 1 песню.

Пользователь Джо дважды слушает песню Алекса и 3 раза слушает песню Бена.На странице с рекомендациями должны показываться Бен и Ханна.Поскольку Джо больше любит слушать акустические медиа.

Как мне заняться дизайном этого?Должен ли я иметь таблицу, которая отслеживает эти данные?Если да, то какие столбцы должны существовать?

Или я должен выполнить какую-то агрегацию при загрузке страницы с рекомендациями?

1 Ответ

0 голосов
/ 10 января 2011

Вам нужно иметь has_many через соединение между песнями и пользователями. Это соединение будет в дополнение к user_id и song_id иметь счетчик прослушиваний. Затем вы можете найти пользователей, которые прослушали те же песни, что и отдельный пользователь, вернуть песни, которые эти пользователи прослушали чаще всего, и по заказу сначала тех пользователей, которые имеют тот же жанр, а затем тех, кто этого не делает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...