Быстрое автозаполнение из коллекции в памяти (.NET) - PullRequest
3 голосов
/ 08 ноября 2010

У меня есть это поле ввода текста на веб-странице. Пользователь вводит названия предметов для покупки. Я хотел бы предоставить выпадающий список возможных имен, основанный на набранных до сих пор буквах.

Вопрос в том, как реализовать поиск на сервере (ASP.NET MVC). Я, вероятно, загружу всю коллекцию имен элементов (их более 100 000) в статическую переменную при запуске приложения Как мне реализовать эффективный поиск имен, начинающихся с заданного одного или нескольких символов?

ТИА

Ответы [ 2 ]

2 голосов
/ 08 ноября 2010

Вы можете отсортировать коллекцию по имени, а затем написать измененный двоичный поиск, который возвращает диапазон элементов.

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

1 голос
/ 08 ноября 2010

Я, наверное, загрузлю весь коллекция названий предметов (есть более 100 000) в статической переменной на запуск приложения. Как я должен реализовать эффективный поиск имен, начиная с заданным одним или несколькими символами?

НЕ (!) Загружая их в статическую переменную. Хит сервер БД при каждом запросе с предложением «top 101». Закончено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...