2011-08-17 15 views
1

在相當標準的博客/文章/評論類型設置中,根據用戶的興趣提供適合用戶興趣的內容的最優雅方式是什麼?跨會話的用戶特定內容建議[MySQL/Web]

存在物品的標籤系統,因此真正需要的僅僅是跟蹤每個用戶閱讀或評論的物品標籤。通過簡單地將這些信息寫入用戶的會話,這將非常簡單,但是在站點數據庫中建模的最佳方式是什麼,以便建議與會話無關?如果用戶閱讀4篇標記爲一個文章的文章,2篇文章標記爲另一篇文章,則系統理想情況下會在第二次下一次用戶查看主頁面時建議與第一個標記匹配的文章多於第二個。

什麼樣的數據模型最能做到這一點?在用戶表中有大量額外的字段看起來非常麻煩。

回答

0
CREATE TABLE interests (user_id int, tag varchar(25), weight int); 

就是這樣的。每個用戶每個標籤一行。當用戶閱讀/評論某個標籤時增加重量。

+0

有一個全局標籤表,所以用user_id,tag_id和weight設置一些東西很容易,但是這個表會變得非常大。是通過user_id爲表建立索引並在用戶登錄時抓取數據足夠快? – cdnza