2011-07-14 127 views
1

我想實現自動完成(自動建議) - 當使用開始鍵入單詞時,會彈出建議。個性化自動完成

我希望能夠根據要求他們的用戶呈現建議列表。

例如,我有一本書的清單,並且我知道每個用戶他讀過什麼書,喜歡什麼書,他讀什麼語言。 我希望autosuggest能夠提供僅針對用戶喜歡的書籍以及用他的語言篩選的建議列表,並根據他的口味進行排名。

任何人都有一個適合這個數據結構的想法?大多數自動完成算法都使用樹,但我不想爲每個用戶使用個人數據結構,因爲維護會耗費大量資源。

+0

您可以使用trie。 – Raxit

回答

1

使用書籍的數據庫(例如MySQL)及其屬性,如language:French,type:mystery,author:Jean-Claude等。用戶對圖書的偏好可以在伴侶數據庫中,或者用戶可以從網頁上的選擇選項中進行選擇。

在網頁上,使用jQuery UI自動填充小部件。使用data:選項將用戶預置首選項傳遞給創建自定義查詢的php查詢管理器,例如language:French,鍵入:mystery,author:Jean-Claude,在MySQL中觸發查詢並返回書名通過JSON將這些屬性添加到網頁中。自動完成功能會創建一個下拉框,用戶可以從中進行選擇。

許多人使用此架構或其變體。