В вычислениях добавочный поиск , горячий поиск , добавочный поиск или предложения в реальном времени — это метод взаимодействия с пользовательским интерфейсом для постепенного поиска и фильтрации текста. Когда пользователь набирает текст, одно или несколько возможных совпадений для текста находятся и немедленно представляются пользователю. Эта немедленная обратная связь часто позволяет пользователю не набирать все слово или фразу, которую они искали. Пользователь также может выбрать близкородственный вариант из представленного списка.
Метод добавочного поиска иногда отличается от пользовательских интерфейсов, которые используют модальное окно , такое как диалоговое окно , для ввода результатов поиска. Для некоторых приложений вместо диалогового окна может использоваться отдельный режим пользовательского интерфейса .
Первое задокументированное использование добавочного поиска было в EMACS на ITS в конце 1970-х годов. [1] Это была одна из многих важных функций Emacs, которые Ричард Столлман включил в свою новую реализацию GNU Emacs . Другие заслуживающие внимания программы, содержащие эту функциональность в 1980-х годах, включают bash и Canon Cat . [2] В этих ранних реализациях предлагалась однострочная обратная связь, а не списки предложений.
Первое массовое появление, возможно, было в Speller for WordPerfect 5.2 для Windows, выпущенном 30 ноября 1992 года. Как программист Роберт Джон Стивенс, ныне генеральный директор WriteExpress , наблюдал, как пользователи в лаборатории юзабилити WordPerfect в Ореме, штат Юта, используют 5.1 . Speller, который он и Стивен М. Кэннон перенесли на Windows, он заметил, что когда слово не было найдено в словаре и альтернативные слова не были представлены, пользователи казались потерянными, перемещали курсор мыши по странице и даже выходили из Speller. Ошарашенный аномалией, он пошел домой, сел на диван и обсудил свои наблюдения с женой. Стивенс запрограммировал решение: когда пользователь вводил текст в поле редактирования, Speller предлагал слова, начинающиеся с введенных букв. [ссылка нужна ]
Программа проверки орфографии Стивенса также использовалась в Novell GroupWise . [ нужна ссылка ]
Эта функция или ее разновидности также называются автозаполнением , поиском по мере ввода , фильтрацией/поиском по мере ввода (FAYT), инкрементным поиском , поиском по вводу , встроенным поиском , мгновенным поиском , перебором слов и другими названиями . .
Некоторые общие сочетания клавиш для добавочного поиска: Ctrl/Cmd-F (как для традиционного поиска), GNU - стиль / (также применимый к Vim [3] ) или Emacs -стиль Cs .
Этот метод пользовательского интерфейса также используется в различных контекстах. Например, пользователь может столкнуться с этой функцией при поиске файлов, имена которых совпадают со строкой в файловой оболочке операционной системы. Эту функцию также можно использовать при поиске песен, название или исполнитель которых соответствуют строке в медиаплеере.
Другим вариантом является фильтрация длинных списков параметров или пунктов меню, которые могут отображаться в самом пользовательском интерфейсе. Примеры этого варианта можно найти в разделе интерфейса about:config в Mozilla Firefox версии 2.0.0.14 и более поздних версиях; и в разделе редактора пакетов TextMate 1.5.7. Эта функция также используется в средствах запуска приложений, таких как Quicksilver 1.0.
Обычно список совпадений создается по мере ввода поискового запроса, и список постепенно сужается, чтобы соответствовать тексту фильтра.
В сентябре 2010 года Google представила Google Instant — функцию пошагового поиска для Google Search.
Инкрементный поиск на нелокальном сервере, как и веб-поиск, использует больше пропускной способности сети и ресурсов сервера, чем неинкрементный поиск, из-за обработки запросов XMLHttpRequest (или аналогичных), которые обычно запускаются при каждом событии onkeyup .
Эксперт по интерфейсам Джеф Раскин был активным сторонником пошагового поиска. В своей книге 2000 года «Гуманный интерфейс » он писал: «С точки зрения разработки интерфейсов, преимущества пошагового поиска настолько многочисленны, а преимуществ поиска с разделителями так мало, что я почти не вижу случаев, когда поиск с разделителями был бы оправдан . предпочтительнее». Далее следовала сноска: «Поиск может быть инкрементным или экскрементальным». [4]
Инкрементный поиск подвергался критике за низкую доступность , [5] поскольку текстовые поля, которые обеспечивают его, не дают визуального указания на этот факт до тех пор, пока пользователь не начнет печатать.
Немодальный добавочный поиск находится в:
Современные веб-браузеры :
Клиенты для обмена мгновенными сообщениями :
Современные операционные системы :
Редакторы и среды разработки:
Другие приложения: