Инкрементальный поиск - Incremental search

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

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

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

История

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

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

Программа проверки орфографии Стивенса также использовалась в Novell GroupWise.[нужна цитата ]

Варианты

Эта функция или ее варианты также упоминаются как Автозаполнение, ищи по мере ввода, фильтровать / находить по мере ввода (ФАЙТ), инкрементный поиск, поиск с опережением, встроенный поиск, мгновенный поиск, слово вращение, а также другие имена.

Некоторые общие горячие клавиши для инкрементного поиска Ctrl / Cmd-F (как и для традиционного поиска), GNU -стиль / (также применимо к Vim[3]), или же Emacs -стиль C-s.

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

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

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

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

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

веб-поиск

В сентябре 2010 года Google представил Живой поиск Google, функция инкрементального поиска для поиска Google.

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

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

Прием

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

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

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

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

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

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

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

Прожектор (который ищет по всему компьютеру)
Меню помощи (10.5 и новее)
Системные настройки
Стартовое меню
Панель управления
  • Linux с KDE 4 среда рабочего стола использует это систематически
KWrite
Rekonq

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

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

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

Рекомендации

  1. ^ Чиккарелли, Юджин (январь 1978 г.). "Введение в редактор Emacs". Записка AI № 447. Получено 2009-06-16.
  2. ^ Шапиро, Эзра (1989). «Кот мертв, да здравствует интерфейс». Журнал языковых технологий. 13.
  3. ^ «Шаблоны и поисковые команды». Брэм Мооленаар, SourceForge. 24 апреля 2006 г.. Получено 1 августа 2009.
  4. ^ Раскин, Джеф (2000-04-08). Гуманный интерфейс. Эддисон-Уэсли Профессионал. п.126. ISBN  978-0-201-37937-2.
  5. ^ Джеспер Рённ-Йенсен (05.05.2007). «Возможность автозаполнения текстовых полей».
  6. ^ "новости mozilla.org". Viewvc.svn.mozilla.org. Получено 2014-06-21.

внешняя ссылка