2011-07-14 9 views
1

私はオートコンプリート(自動提案)を実装したい - 使用する単語を入力すると、提案がポップアップします。パーソナライズされたオートコンプリート

私は、それらを求めたユーザーに基づいて提案のリストを表示できるようにします。

たとえば、私は書籍のリストを持っており、読んだ本と読んだ本とはどのようなものか知っています。 私はautosuggestが、ユーザーが好きな本だけでなく、彼の言葉でフィルタリングされた提案のリストを与え、彼の好みに応じてランク付けすることができるようにしたい。

誰もがこれに適したデータ構造のアイデアを得ましたか?ほとんどのオートコンプリートアルゴリズムはツリーを使用しますが、私は個人的なデータ構造を各ユーザに使用することは望ましくありません。

+0

トライを使用できます。 – Raxit

答えて

1

language:French、type:mystery、author:Jean-Claudeなどの属性を持つ書籍のデータベース(MySQLなど)を使用します。書籍のユーザー設定は、コンパニオンデータベース内にあることもあれば、ウェブページ上の選択肢から選択することもできます。

ウェブページでは、jQuery UIオートコンプリートウィジェットを使用します。 data:オプションを使用して、ユーザのブック設定を、言語:フランス語、タイプ:ミステリー、著者:Jean-Claudeなどのカスタムクエリを作成するPHPクエリマネージャに渡し、MySQLでクエリをトリガし、書籍のタイトルを返しますこれらの属性をJSON経由でWebページに追加します。オートコンプリートでドロップダウンボックスが作成され、ユーザはそれを選択できます。

多くの人がこのアーキテクチャまたはその変形を使用しています。

関連する問題