Углубляемся в тонкости поисковой системы Windows Vista

 | 17.47

Мой Компьютер, №03 (507), 02.06.2008

Отмену поиска можно выполнить тремя способами: нажать кнопку Esc, удалить искомое слово из поля Поиск, либо нажать на крестик, отображающийся справа от поля Поиск (рис. 1).

Рис. 1

В общем-то это просто, поэтому данный разговор не стоило бы и начинать, если бы не желание разработчиков Windows всеми мыслимыми и немыслимыми способами спрятать от пользователя вторую возможность — возможность прекращения текущего поиска с сохранением полученных результатов.

Чтобы досрочно прекратить поиск, необходимо нажать на крестик, отображаемый справа от адресного поля (то есть слева от поля Поиск).

Настройка поиска при помощи диалога «Результаты поиска»

Помимо переключателя Что искать, назначение которого мы рассмотрели в предыдущей статье, на вкладке Поиск (рис. 2) предоставляется ряд полезных элементов.

Рис. 2

Флажок Включать подпапки при вводе текста в поле поиска позволяет определить, будет ли выполняться рекурсивный поиск (поиск внутри папок, расположенных в текущей папке для поиска), если вы выполняете поиск при помощи поля Поиск. По умолчанию используется рекурсивный поиск.

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

Флажок Использовать языковой поиск по умолчанию сброшен. Он определяет, будут ли при выполнении поиска отбрасываться диакритические знаки (то есть, знаки ?, ! и проч., которые не входят в символьно-цифровой набор клавиш). Например, если данный флажок установлен, тогда имена tes и tes! будут считаться подобными.

Назначение остальных флажков вкладки Поиск и так должно быть понятно, поэтому на них мы останавливаться не будем. Лучше упомянем об обходных путях: действительно, настройки поиска можно произвести не только с помощью вкладки Поиск. Также для этого можно использовать групповые политики раздела Конфигурация компьютера > Административные шаблоны > Компоненты Windows > Найти оснастки Редактор объектов групповой политики. Впрочем, большинство политик этого раздела связаны с настройкой индексирования: Разрешить индексирование шифрованных файлов, Отключить индексирование вложений электронной почты, Отключить индексирование общих папок и т.д. Кстати, под «общими папками» подразумеваются не общие папки Windows, а общие папки Microsoft Office Outlook (впервые появились в Outlook 2003).

Индексирование файлов

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

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

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

Механизм индексирования работает на основе службы Поиск Windows. На первых порах работы с операционной системой эта служба существенно снижает производительность компьютера, поэтому администраторы часто ее отключают. Кстати, если поиск в индексе не приводит ни к какому результату и завершается сразу же, как только был начат, значит, служба Поиск Windows отключена.

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

Все основные настройки механизма индексирования сосредоточены в диалоге Параметры индексирования (рис. 3), который вызывается при помощи одноименного значка Панели управления. Данный диалог состоит из трех интересных для нас элементов.

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

Рис. 3

Также обратите внимание на поле Индексировать следующие места и кнопку Изменить. С их помощью можно определить каталоги, содержимое которых будет заноситься в индекс.

И последний важный элемент — кнопка Другие, отображающая дополнительный диалог, с помощью которого можно настроить параметры работы механизма индексирования. Наиболее интересна вкладка Типы файлов, позволяющая указать те расширения файлов, содержимое которых разрешено индексировать. Обратите внимание на переключатели под списком типов файлов этой вкладки. С их помощью можно определить, что именно будет заноситься в индекс: либо только метаданные файла, либо метаданные и содержимое файлов.

Читателям, которые интересуются реестром, возможно, будет интересно узнать о некоторых его параметрах, относящихся к настройкам индексирования, которые нельзя изменить стандартными способами.

Например, к таким параметрам относится параметр DWORD-типа UseLowPriorityConfiguration, расположенный в ветви реестра HKLMSOFTWAREMicrosoftWindows Search. Он позволяет изменить приоритет службы индексирования.

Также можно обратить внимание на параметры DWORD-типа LowDiskMinimumMBytes и NotifyQueueFileLimit, расположенные в ветви реестра HKLMSOFTWAREMicrosoftWindows SearchGather. Они определяют минимальный размер свободного места на диске (в мегабайтах) с базой данных, необходимой для индексации, а также максимальное количество файлов в индексе.

Компонент Служба индексирования

Читатель, знакомый с операционной системой Windows XP Professional, знает о таком ее компоненте, как Служба индексирования. С его помощью можно было выполнять индексирование содержимого файлов для дальнейшего поиска в них при помощи оснастки Indexing Service.

Если вы привыкли именно к такому поиску по индексу файлов, вы можете вручную установить компонент Служба индексирования. Для этого достаточно воспользоваться диалогом Компоненты Windows, отобразить который можно при помощи файла OptionalFeatures.exe.

Сохранение параметров поиска

После того как поиск выполнен, вы можете сохранить параметры поиска в отдельном файле (обычный текстовый файл в формате XML). В дальнейшем вы всегда сможете выполнить поиск с теми же параметрами, воспользовавшись файлом с параметрами поиска (по умолчанию сохраняется в папке %userprofile%Поиски), либо выбрав этот файл в диалоге Выбор мест для поиска, который отображается после выбора элемента Выбрать места для поиска раскрывающегося списка Папка поля Расширенный поиск. В этом диалоге нужно перейти к значку Папки поиска и выбрать в нем сохраненный вами ранее поиск.

Чтобы сохранить параметры выполненного поиска в виде файла, нужно нажать кнопку Сохранить условия поиска, отображаемую после выполнения поиска на панели кнопок диалога Результаты поиска.

Другие возможности поиска

К счастью, в операционной системе Windows Vista нет необходимости по каждому случаю использовать диалог Результаты поиска, так как возможности поиска интегрированы практически везде, где они только могут понадобиться.

Поиск в проводнике

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

Если вы хотите выполнить поиск с расширенными параметрами, также нет необходимости вызывать диалог Результаты поиска. Вместо этого начните поиск любого слова при помощи поля Поиск окна Проводника. При этом на панели кнопок окна проводника отобразится дополнительный раскрывающийся список Средства поиска. Выберите в этом раскрывающемся списке элемент Панель поиска, и в окне проводника отобразится панель Показать только, с помощью которой можно непосредственно в окне проводника отобразить панель расширенных параметров поиска.

Поиск в меню Пуск

Также в Windows Vista можно выполнить поиск при помощи кнопки Пуск панели задач. Для этого предназначено поле поиска данного меню, позволяющее выполнить поиск среди содержимого меню Пуск, а также среди избранного, сетевых подключений и файлов папки пользователя.

Настроить места для поиска при помощи меню Пуск можно с помощью диалога Свойства, вызываемого из контекстного меню панели задач. Перейдите на вкладку Меню «Пуск», нажмите кнопку Настроить, и в отобразившемся диалоге Настройка меню «Пуск» воспользуйтесь следующими флажками:

  • Искать в переписке — выполнять поиск среди ваших электронных писем;
  • Поиск в избранном и журнале обзора — выполнять поиск в избранном и журнале обзора браузера Internet Explorer;
  • Поиск программ — выполнять поиск программ (ярлыков на них), либо только поиск файлов пользователя;
  • Поиск файлов — выполнять поиск либо среди файлов пользователя (папка %userprofile%), либо во всем индексе, либо же вообще не выполнять поиск файлов.

Другие поля поиска

Кроме того, поле Поиск встроено в такие стандартные программы операционной системы Windows Vista, как проигрыватель Windows Media (поиск в библиотеках проигрывателя), Фотоальбом Windows (поиск в библиотеке изображений), Почта Windows или Microsoft Outlook (поиск среди электронной почты) и многие другие.

Поиск через командную строку

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

Программа where.exe

Основной программой для поиска является where.exe. С помощью данной программы можно выполнить поиск по имени файла в отдельном каталоге, либо в каталоге и его подкаталогах (рекурсивный поиск). Возвращать же данная программа может либо просто код результата поиска (найдены файлы, удовлетворяющие шаблону, или нет), либо имя найденного файла, либо имя, размер, дату и время последнего изменения файла.

Стандартный вызов программы имеет следующий вид:

Where «каталог»:«шаблон»

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

WHERE «c:windows;c:windowssystem32:*.dll»

Чтобы задать рекурсивный поиск файла по шаблону в указанном каталоге и его подкаталогах, используется следующая конструкция:

Where /R «каталог» «шаблон»

Через пробел можно указать несколько шаблонов для поиска. Например, команда WHERE /R c:windows *.exe *.dll выполняет поиск исполняемых файлов и файлов динамических библиотек.

Опции программы задаются сразу после названия программы и определяют, что именно она будет возвращать. Вы можете указать следующие опции: /Q (возвратить код выхода (найдены файлы, удовлетворяющие шаблону, или нет)), /F (отобразить только имена найденных файлов, используется по умолчанию), /T (отобразить размер файла, дату и время его изменения).

Программа find.exe

Выполнить поиск в содержимом файла можно при помощи программы командной строки find.exe. Следует заметить, что данная программа не может выполнять рекурсивный поиск. Зато с ее помощью можно выполнять поиск в содержимом любых файлов, независимо от их расширения.

Основной синтаксис программы следующий:

find «шаблон искомой строки» «путь к каталогу и шаблон файла»

Например, команда find «canoni» c:windowssystem32*.* > c:1.txt, выполняет поиск строки canoni во всех файлах каталога c:windowssystem32. При этом результат работы программы find заносится в файл 1.txt, расположенный на диске C:.

Параметры программы определяют возвращаемые после ее работы данные. Так, вы можете указать следующие параметры:

  • /V — отобразить все строки файлов, не содержащие в себе искомую строку;
  • /C — отобразить все строки файлов, содержащие в себе искомую строку;
  • /N — отобразить номера строк, которые подходят условиям поиска;
  • /I — игнорировать регистр искомого слова;
  • /OFF[LINE] — также искать в файлах с атрибутом Автономный.

Программа findstr.exe

Самая функциональная из программ для поиска. Ее синтаксис совпадает с синтаксисом программы find.exe:

findstr.exe <параметры> «шаблон искомой строки» «путь к каталогу и шаблон файла».

Программа имеет следующие опции:

  • /B — искать только в началах строк;
  • /E — искать только в конце строк;
  • /L — выполнить дословный поиск (без шаблонов);
  • /R — считать искомые строки регулярными выражениями;
  • /P — пропускать найденные строки, содержащие непечатаемые символы;
  • /M — отображать только имя файла, имеющего искомую строку;
  • /O — отображать найденные строки через пустую строку;
  • /F:<файл> — указывает файл, из которого будет взят список файлов для поиска. Этот параметр может использоваться вместо списка файлов для поиска;
  • /C:<строка> — определяет искомую строку, если она содержит пробелы. Этот параметр может использоваться вместо искомой строки;
  • /G:<файл> — указывает файл, из которого будут взяты искомые строки. Этот параметр может использоваться вместо искомой строки;
  • /D:<список папок> — через точку с запятой указывает каталоги, в которых нужно искать. Этот параметр может использоваться вместо каталога для поиска.

Кроме того, программа поддерживает те же опции, что и программа find.exe: /V, /X (вместо параметра /C программы find.exe), /N, /I, /OFF[LINE].

В следующей статье мы расскажем о самых изощренных способах поиска, реализованных в Windows Vista.

Parad0x

Robo User
Web-droid editor

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *