предложения для конкретного пользователя по сеансам [MySQL / Web] - PullRequest
1 голос
/ 17 августа 2011

В довольно стандартной настройке типа блога / статей / комментариев, какой самый элегантный способ предлагать контент с учетом интересов пользователей (как определено предыдущим действием)?

Система тегов для статей существует, поэтому на самом деле все, что требуется, это отслеживать теги статей, которые каждый пользователь читает или комментирует. Это было бы очень просто, просто записав эту информацию в сеансы пользователей, но как лучше всего моделировать ее в базе данных сайта, чтобы рекомендации не зависели от сеанса? Если пользователь читает 4 статьи, помеченные как одно, а 2 - как одно, система в идеале предложит больше статей, соответствующих первому тегу, чем второму, когда пользователь в следующий раз заглянет на главную страницу.

Какая модель данных может лучше всего этого достичь? Наличие целой тонны дополнительных полей в пользовательской таблице кажется чрезвычайно громоздким.

1 Ответ

0 голосов
/ 17 августа 2011
CREATE TABLE interests (user_id int, tag varchar(25), weight int);

Что-то в этом роде.Одна строка на тег для каждого пользователя.Добавьте к весу, когда пользователь читает / комментирует что-то с этим тегом.

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