Автозаполнение в форме поиска LDAP - PullRequest
1 голос
/ 01 июля 2010

Я хотел бы знать, возможно ли реализовать автозаполнение в форме поиска, которая запрашивает каталог LDAP.

Я создаю небольшойвиджет, который позволяет пользователям искать людей в каталоге LDAP, а затем отображать такую ​​информацию, как номер телефона и т. д.

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

Это на самом деле в значительной степени , что jQuery UI делает с автозаполнением

Должен ли я запрашивать непосредственно каталог LDAP каждый раз, когда пользовательударяет ключ?Или, может быть, я должен кэшировать (локально или на сервере)?

Спасибо за вашу помощь

Ответы [ 2 ]

2 голосов
/ 11 июля 2010

Конечно, вы можете, но из-за двустороннего запроса, даже с самым быстрым из серверов LDAP, вы захотите использовать прослушиватель событий «отложенный наблюдатель» в поле поиска. Это означает, что запрос на поиск будет выполняться не сразу при каждом нажатии клавиши, а только после того, как пользователь введет некоторые символы и сделает паузу на некоторое время.

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

P.S. Кэширование всех пользователей в каталоге локально в javascript и локальный поиск на самом деле не будет работать для более чем пары сотен пользователей, ИМХО.

1 голос
/ 03 июля 2010

Вы можете определенно выполнить поиск LDAP, используя фильтр подстановочных знаков, например (данное имя = E *). LDAP оптимизирован для поиска в каталогах, и обычно, если вы используете только реплики, это может очень хорошо масштабироваться.

Если у вас возникли проблемы с емкостью, я бы порекомендовал вам выполнить операцию с одним списком и кэшировать результаты. Моя предпочтительная стратегия кэширования будет на стороне сервера, так как это уменьшит нагрузку на ваш сервер.

...