У меня есть webapp с полем ввода, которое должно быть заполнено областью пользователя в соответствии с ISO3166-2. Чтобы улучшить работу с пользователем, я хочу сделать это поле автозаполнением - пользователь начинает печатать и получает предложения. Существует также поле страны, которое, если оно будет заполнено, ограничит количество регионов, предлагаемых регионам из выбранной страны.Эффективный способ поиска предложений автозаполнения в большом массиве
Список регионов - это довольно большой объем данных, который включает в себя названия регионов и коды для всех официально признанных стран мира, а его площадь составляет около 250 КБ.
Те из вас, у кого был подобный опыт, какие из следующих способов его реализации вы бы рекомендовали достичь наилучшей производительности и почему?
1) не отправляйте клиенту весь список регионов и делайте запрос на сервер, а не каждый раз, когда пользователь вводит в поле региона (отмените его, конечно), поэтому мы ищем предложения на стороне сервера, но имеем дополнительные обратные вызовы ;
2) используйте веб-сайт, чтобы найти предложения;
3) smth else?
Для большого набора данных, то лучше получать данные с помощью Ajax, есть библиотека JQuery, которая может помочь. https://github.com/devbridge/jQuery-Autocomplete –
@KhorshedAlam спасибо! Я использую реакцию, поэтому я не ищу плагины jquery, но меня интересует вообще, действительно ли запросы ajax действительно стоят для наборов данных такого размера? –
Независимо от того, хотите ли вы сохранить данные на сервере или загрузить все для скорости, я бы построил его с помощью дерева поиска (https://en.wikipedia.org/wiki/Search_tree). –