Я пытаюсь создать поисковую систему в стиле Quicksilver для внутреннего веб-приложения, которое мы разрабатываем на работе. Есть множество примеров действительно классных внешних интерфейсов для этого с использованием JQuery, MooTools или чего-либо еще. Ни один из этих примеров не говорит о серверной части. Насколько я могу судить, в этих примерах предполагается, что серверная часть выполняет поиск в одной таблице или, по крайней мере, выполняет один запрос. Что я хочу сделать, так это спроектировать систему, в которой вы можете буквально напечатать на ней что угодно и найти то, что искали. В идеале я хочу иметь возможность просто написать плагины для этой системы, вставить их и начать поиск.
У меня есть решение, в котором сервер использует шаблон наблюдателя для отправки запроса в различные плагины для каждого типа поиска. Однако это вернет результаты всех плагинов в виде одного чанка. Это может стать заметно медленным, если есть много видов поиска. Мне бы хотелось, чтобы он был быстрым и возвращал результаты более асинхронно, где результаты отображаются по мере их поступления, например, в Spotlight OS X или Quicksilver.
Другое решение - написать на лету массив javascript с именами подключаемых модулей. Затем я мог бы выполнить отдельные запросы к серверу с помощью запроса, по одному для каждого плагина. Что-то в этом решении кажется ... не для меня. Я не могу точно указать на это пальцем.
Итак, мой вопрос: есть ли у кого-нибудь лучшие решения для построения поисковой системы на основе плагинов, в которой отдельные типы поиска не известны до загрузки страницы и результаты возвращаются как можно скорее?