stringtranslate.com

Инкрементный поиск

Скриншот выполнения функции «Поиск по мере ввода» в Mozilla Firefox . Набиралось слово «ency», и первый совпавший текст был выделен зеленым цветом .

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

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

История

Первое задокументированное использование инкрементного поиска было в EMACS на ITS в конце 1970-х годов. [1] Это была одна из многих важных функций Emacs, которую Ричард Столлман включил в свою повторную реализацию GNU Emacs . Другие заслуживающие внимания программы, содержащие эту функциональность в 1980-х годах, включают bash и Canon Cat . [2] Эти ранние реализации предлагали однострочную обратную связь, а не списки предложений.

Первое массовое появление, возможно, было в Speller для WordPerfect 5.2 для Windows, выпущенном 30 ноября 1992 года. [3] Когда программист Роберт Джон Стивенс, ныне генеральный директор WriteExpress, наблюдал, как пользователи в WordPerfect Usability Lab в Ореме, штат Юта, используют Speller 5.1, который он и Стивен М. Кэннон перенесли на Windows, он заметил, что когда слово не было найдено в словаре и не было представлено альтернативных слов, пользователи терялись, перемещали курсор мыши по странице и даже выходили из Speller. Ошеломленный аномалией, он пошел домой, сел на диван и обсудил свои наблюдения с женой. Стивенс закодировал решение: когда пользователь печатал в поле редактирования, Speller предлагал слова, начинающиеся с введенных букв. «Вы можете ввести в поле Replace With любое слово, которое хотите найти. По мере того, как вы вводите буквы в поле, отображаются возможные совпадения». [4] [5]

Варианты

Эту функцию или ее вариации также называют автозаполнением , поиском по мере ввода , фильтром/поиском по мере ввода (FAYT), инкрементным поиском , поиском с опережением ввода , встроенным поиском , мгновенным поиском , циклическим поиском по словам и другими названиями.

Некоторые распространенные сочетания клавиш для инкрементального поиска — Ctrl/Cmd-F (как и для традиционного поиска), F3, стиль GNU/ (также применимый к Vim [6] ) или стиль EmacsC-s .

Поиск файлов и медиа

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

Поиск элементов пользовательского интерфейса

Другой вариант — фильтрация длинных списков опций или пунктов меню, которые могут отображаться в самом пользовательском интерфейсе. Примеры этого варианта можно найти в разделе интерфейса about:config Mozilla Firefox версии 2.0.0.14 и более поздних версий; и в разделе редактора пакетов TextMate 1.5.7. Эта функция также используется в программах запуска приложений, таких как Quicksilver 1.0.

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

Поиск в Интернете

В сентябре 2010 года Google представил Google Instant — функцию постепенного поиска для Google Search.

Потребление ресурсов

Инкрементный поиск на нелокальном сервере, как и при веб-поиске, использует большую пропускную способность сети и серверную обработку, чем неинкрементный поиск, из-за обработки XMLHttpRequests (или аналогичных), которые обычно запускаются при каждом событии onkeyup .

Прием

Эксперт по интерфейсам Джеф Раскин был ярым сторонником инкрементального поиска. В своей книге 2000 года «The Humane Interface » он писал: «С точки зрения проектирования интерфейсов преимущества инкрементального поиска столь многочисленны, а преимущества поиска с разделителями столь малы, что я не вижу практически ни одного случая, когда поиск с разделителями был бы предпочтительнее». Далее следовала сноска: «Поиск является либо инкрементальным, либо экскрементальным». [7]

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

Конкретные приложения

Немодальный инкрементный поиск найден в:

Современные веб-браузеры :

Клиенты мгновенного обмена сообщениями :

Современные операционные системы :

Spotlight (который ищет по всему компьютеру)
Меню «Справка» ( 10.5 и новее)
Системные настройки
Меню Пуск
Панель управления
KWrite
Реконк

Редакторы и среды разработки:

Другие приложения:

Смотрите также

Ссылки

  1. ^ Чиккарелли, Юджин (январь 1978 г.). «Введение в редактор Emacs». Памятка AI № 447 . Проверено 16 июня 2009 г.
  2. ^ Шапиро, Эзра (1989). «Кот умер, да здравствует интерфейс». Журнал языковых технологий . 13 .
  3. ^ Маркофф, Джон (1992-03-30). «Руководитель Wordperfect вынужден уйти». The New York Times . ISSN  0362-4331 . Получено 2023-11-02 .
  4. ^ Использование WordPerfect 5.2 для Windows . Que Development Group. 1 января 1993 г. стр. 218. ISBN 9781565291669.
  5. ^ «Google Книги».
  6. ^ "Шаблоны и команды поиска". Bram Moolenaar, SourceForge. 24 апреля 2006 г. Получено 1 августа 2009 г.
  7. ^ Раскин, Джеф (2000-04-08). Человеческий интерфейс . Addison-Wesley Professional. стр. 126. ISBN 978-0-201-37937-2.
  8. ^ Йеспер Рённ-Йенсен (2007-05-05). "Доступность автозаполнения текстовых полей". justaddwater.dk . Архивировано из оригинала 26 марта 2023 г.
  9. ^ "Пресс-релизы и объявления". mozilla.org news. Архивировано из оригинала 15 апреля 2013 года . Получено 21 июня 2014 года .

Внешние ссылки