Я изучал Программирование Коллективного Разума, и алгоритмы выполнения рекомендаций от элемента до сих пор имеют для меня достаточно смысла, но теперь я застрял в том, как сделать действительную систему, основанную на базе данных, из того, что описывает автор.Я нашел act_as_recommendable, но он выглядит заброшенным из того, что я могу сказать.
Мне интересно, скажем, у меня есть база данных, выложенная так:
Пользователи:
id
имя пользователя
Закладки:
id
url
Пользовательские закладки:
user_id
bookmark_id
(простой, у пользователей может быть много закладок, у закладок может быть много пользователей)
Теперь, глядя на алгоритмы в их восхитительном примере в книге, кажется, что у них есть записи как для пользователей, которые пометили URL, так и для пользователей, которые этого не сделали.Это, очевидно, плохо подходит для базы данных, потому что для одной новой закладки с 1000-пользовательской системой потребуется 1000 новых записей базы данных.Или я просто чего-то здесь не получаю?
Как бы вы добавили к вышеупомянутой схеме базы данных, чтобы позволить вам рассчитывать рекомендации по закладкам в соответствии с алгоритмами рекомендаций по восхитительным ссылкам в Программировании коллективного разума?
В идеале я хотел бы рассчитать допустимое сходство закладок, возможно, ежечасно, а затем просто запросить в базе данных рекомендуемые URL при загрузке страницы.Возможно ли это в стандартной системе с поддержкой MySQL в Rails?
Заранее спасибо.