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