Персонализированное автозаполнение - PullRequest
1 голос
/ 14 июля 2011

Я хочу реализовать автозаполнение (автоматическое предложение) - когда используемый пользователь начинает набирать слово, появляются всплывающие подсказки.

Я хочу отображать список предложений, основываясь на запросе пользователя.их.

Например, у меня есть список книг, и я знаю для каждого пользователя, какие книги он читал, любил и на каком языке он читает.Я хочу, чтобы autosuggest мог предоставить список предложений, отфильтрованных только по тем книгам, которые понравятся пользователю, и на его языке и ранжироваться по его вкусу.

Кто-нибудь получил представление о структуре данных, подходящей для этого?Большинство алгоритмов автозавершения используют деревья, но я не хочу использовать структуру персональных данных для каждого пользователя, поскольку для ее обслуживания потребуется очень много ресурсов.

1 Ответ

1 голос
/ 08 августа 2011

Используйте базу данных (например, MySQL) книг с их атрибутами, такими как язык: французский, тип: тайна, автор: Жан-Клод и так далее.Пользовательские настройки для книг могут находиться в сопутствующей базе данных, или пользователь может выбрать один из вариантов выбора на веб-странице.

На веб-странице используйте виджет автозаполнения пользовательского интерфейса jQuery.Используйте параметр data: для передачи пользовательских настроек книги в менеджер запросов php, который создает пользовательский запрос, например language: French, type: mystery, author: Jean-Claude, запускает запрос в MySQL и возвращает названия книгс этими атрибутами через JSON на веб-страницу.Автозаполнение создает раскрывающийся список, и пользователь может выбрать из него.

Многие используют эту архитектуру или ее вариант.

...