Служба индексирования
Служба индексирования
Раньше служба индексирования уже рассматривалась с точки зрения параметров реестра, влияющих на ее производительность. Сейчас же будет рассмотрена оснастка Служба индексирования: как с ее помощью определить каталоги для индексирования, а также выполнить поиск в содержимом индексированных файлов. Оснастка Служба индексирования входит в состав консоли ciadv.msc и имеет GUID-номер {95AD72F0-44CE-11D0-AE29-00AA004B9986}.
Но перед кратким описанием консоли ciadv.msc поговорим о том, что же можно ожидать от этой службы. Служба индексирования при нахождении нового файла просматривает список фильтров документов для определения, умеет ли она работать с файлами данного расширения. По умолчанию в состав операционной системы Windows XP входят фильтры для работы с документами, создаваемыми продуктами комплекта Microsoft Office, а также с текстовыми файлами, файлами HTML и файлами почты и групп новостей. При этом любая программа может поставлять собственные фильтры для работы с новыми расширениями файлов. Если найденный файл имеет расширение, поддерживаемое существующими в операционной системе фильтрами, то служба индексирования пытается определить язык, на котором написан данный файл. Русского языка служба индексирования не понимает, поэтому поиск по русским словам невозможен. Зато поиск в каталоге службы индексирования возможен по английским словам. Поэтому если содержимое файла написано на английском языке, то оно разбивается на отдельные слова и заносится во временный список слов. В процессе слияния списки слов помещаются в общий индекс на жестком диске в сильно сжатом виде. Благодаря этому возможно увеличение скорости поиска в содержимом файлов в несколько раз. Как можно заметить, единственным минусом службы индексирования является непонимание русского языка, поэтому если вы наиболее часто имеете дело с файлами на русском языке, то использовать службу индексирования нет смысла. Если же вы также имеете дело с файлами на английском языке, то рекомендуется помещать их в одну папку, а после этого с помощью консоли Служба индексирования указать системе выполнять индексацию только содержимого этой папки.
После запуска консоли ciadv.msc перед вами отобразится окно, включающее в себя один элемент — System (если на компьютере присутствует IIS-сервер, то в оснастке также будет присутствовать элемент Web). Элемент System представляет собой стандартный каталог, создаваемый службой индексирования при установке операционной системы. Именно с помощью элемента System и выполняется по умолчанию вся работа со службой индексирования на файловой системе Windows.
Контекстное меню элемента System содержит пункт Свойства, после выбора которого перед вами отобразится диалог для настройки некоторых параметров работы службы индексирования. Например, с помощью данного диалога можно настроить следующие параметры: определить, будут ли добавляться в индекс псевдонимы папок общего доступа, указать, будут ли индексироваться файлы с неизвестным расширением, определить, будут ли генерироваться аннотации к индексам. Некоторые из этих параметров уже рассматривались в виде параметров реестра.
С помощью контекстного меню элемента System можно остановить или запустить службу индексирования, а также выполнить слияние. Слиянием называется объединение нескольких списков слов и сохраненных ранее индексов (в буфере) в постоянный индекс. Выполнение слияния может сильно загрузить процессор, поэтому выполнять его нужно в нерабочее время.
С помощью контекстного меню элемента System можно также создать новую папку (внутри элемента System) и определить, будет ли содержимое этой папки добавляться к индексу. Для этого служит команда Создать?Папка. Но перед созданием папки щелкните дважды кнопкой мыши на элементе System. После этого отобразится содержимое данного элемента: разделы Папки, Свойства и Опрос каталога.
С помощью раздела Папки можно определить, содержимое каких каталогов будет индексироваться, а каких в индекс помещаться не будет. По умолчанию в индекс помещается содержимое всех логических дисков компьютера, кроме папок профилей пользователей Application Data и Local Settings (в индекс также не входит содержимое съемных дисков). Вы можете добавить свои папки или удалить уже существующие. С помощью контекстного меню папок можно также выполнить повторное сканирование их содержимого на предмет существования новых файлов, которые можно поместить в индекс (команда Все задачи?Выполнить сканирование, которая появляется только тогда, когда Служба индексирования запущена).
С помощью раздела Свойства можно определить индексируемые свойства файлов, а также указать кэш, в котором будут храниться данные свойства. Существует два вида кэша свойств — первичный и вторичный. Первичный кэш свойств обеспечивает максимальную скорость поиска, но имеет небольшой размер, поэтому в него нужно помещать лишь часто используемые свойства (желательно помещать в него свойства постоянной длины, иначе работа с первичным кэшем может замедлиться). Вторичный же кэш используется для хранения остальных свойств. Раздел Свойства содержит вложенные разделы, идентифицирующие одно свойство. Контекстное меню этих разделов включает в себя команду Свойства, с помощью которой можно отобразить одноименный диалог Свойства. С помощью этого диалога можно определить кэш, в котором будет храниться данное свойство, указать размер, резервируемый в кэше для элементов данного свойства, а также определить тип свойства, если система сделала это неправильно (если свойство имеет тип VT_LPWSTR, это говорит о том, что система не знает истинного типа данного свойства).
С помощью раздела Опрос каталога можно перейти на форму для поиска в содержимом индексированных документов (рис. 10.6). Форма находится отдельно в каталоге %systemroot%HELP и называется ciquery.htm (еще в приведенном каталоге хранится ciquery.htm, также используемый разделом Опрос каталога). Иными словами, если данные HTML-файлы будут отсутствовать в каталоге %systemroot%HELP, то вы не сможете обратиться к содержимому каталога службы индексирования. С помощью данной формы можно выполнить поиск по ключевым словам (не забудьте, что русские слова не индексируются) или по свойствам. Более подробную информацию о поиске в каталоге можно найти в файле справки по данной консоли.
Рис. 10.6. Поиск в каталоге индексированных файлов