25, Sep, 2024
42 Views
Comments Off on Служба индексирования в Windows 2000
0 0

Служба индексирования в Windows 2000

Written by

Кроме служб, рассмотренных в других номерах нашего журнала, в состав Microsoft Windows 2000 Server входит служба Indexing Services. В данной статье рассмотрены основные понятия и задачи, относящиеся к применению данной службы о различных окружениях. Эта служба не самая нужная, и большинство сетей могут прекрасно работать и без нее. Однако при правильном развертывании, она может оказаться полезной почти во всех сетях.
Основные понятия службы индексирования
Благодаря службе индексирования (Indexing Services) можно производить индексирование и обработку запросов в корпоративных интрасетях [наподобие работы с Интернетом), в сайгах Интернета и в более привычных сетях без переформатирования документов Конечные пользопате ли смогут одним нажатием кнопки индексировать и запрашивать информацию из сайтов интрасети или Интернета (при работе Windows 2000 со службами IIS (Internet Information Services)). Однако, кроме обычного индексирования, служба Indexing Services имеет и другие возможности. Она содер жит систему для публикации документов в нашей интрасети или в Интернете. Поскольку Indexing Services индексирует и содержимое, и свойства форматированных документов, то существующие документы доступны вашим пользователям и без конвертации их в HTML Напротив, непосредственно доступны документы в разнообразных форматах. таких как Microsoft Word или Microsoft Excel.
Хотя основное назначение indexing Services индексирование серверов Интернета, но эта служба полезна в любых сетях, для которых обычны задачи поиска документов и очень важна в сетях, где поиск приходится осуществлять часто и среди большого количества файлов.
Служба Indexing Services работает именно так. как это можно себе представить – она создает ин дексные каталоги (catalogs) собраний документов и имеет возможности поиска по полному тексту с использованием функции поиска, форм запроса или Microsoft Internet Explorcr’a. Подобно тому, как индекс (т.е. предметным указатель) в книге представляет собой сопоставление важных слов страницам книги, индексирование содержимого документов при помощи компьютера сопоставляет слова внутри документов самим этим документам Сведения об индексируемых документах помещаются в индексные каталоги, прггчем вместе с информацией о содержимом документа хранятся и сведения о его свойствах. Служба Indexing Services после своей установки не требует никакой
технической поддержки, и ее администрирование необходимо лишь если вы захотите изменить ес основную конфигурацию. Если вы не включили службу Indexing Services в свою первоначальную установку Windows 2000. то се можно добавить при помощи Add/Remove Programs из панели уп равнения.
Терминология
В контексте Indexing Services довольно много терминов приобретает особый смысл. Перечислим наиболее употребительные:
Собрание (corpus). Вся совокупность страниц HTML и других документов, проиндексированных при помощи Indexing Services.
Виртуальных! корень (virtual root). Псевдоним физического местоположения на диске Например. в IIS виртуальный корень /maildocs указывает на физическое местоположение %SystemRoot% \ help\ mail.
– Охват (scope). Совокупность документов, в которой производится поиск при исполнении запроса. Охват можно задать при помощи физических путей доступа файловой системы (physical paths) или виртуальных корней.
– Сканирование (scan). Процесс, при котором файлы и каталоги проверяются на появление изменений. Сканирование производится для виртуальных корней. для виртуальных корней, выбранных для индексирования.
– Индексный каталог (catalog). Каталог, в которой хранятся все индексы – временные (списки слов) и постоянные (тени и главный) и кэшированные свойства, сохраняемые для некоторого охвата.
– Демон CiDaemon. Дочерний процесс, создаваемый службой Indexing Services. CiDaemon работает в фоновом режиме, осуществляя фильтрацию документов для Indexing Services.
– Фильтр (filter). Часть динамически подключа смой библиотеки (DLL-библиотеки) фильтров. Каждый фильтр спроектирован так. что может извлекать текстовую информацию и свойства из форматированных документов определенного типа.
Запрос (query). Запрос на поиск файлов, содержащих определенные данные.
Список слов (word list). При индексировании документа индексная информация поступает сна чала в небольшой временный индекс, называющийся “список слов”.Список слов находятся в оперативной памяти до тех пор. пока Indexing ServtcesHe объединит их с имеющимися индексами.
– Постоянный индекс (persistent index). Индексные данные, хранящиеся на диске. В отличие от списков слов, существующих только в оперативной памяти, постоянным индексам не страшны перезагрузки компьютера и перезапуски службы индексирования. Индексные данные в постоянных списках (постоянно-индексные данные) хранятся в сильно сжатом формате. Существует два типа постоянных индексов: теневые индексы (они также называются “сохраненные” (saved indexes) и’ временные индексы’ (temporary indexes)) и главные индексы (master indexes).
– Теневой индекс (shadow index). Постоянный индекс, создаваемый при слиянии списков слов и. иногда, других теневых индексов, в результате чего возникает единый индекс. Каталог может содержать несколько теневых индексов.
– Теневое слияние (shadow merge). Процесс, при котором списки слов и теневые индексы объе диияются в единый теневой индекс. Теневое слияние позволяет освободить память, занятую списками слов, а также сделать постоянными отфильтрованные данные.
– Главный индекс (master index). Постоянный индекс, содержащий данные индексирования для большого количества документов. Обычно он яв ляется самой крупной из постоянных структур данных. В идеальном случае он является единственным индексом (когда все данные индексирования хранятся в нем. и нет ни теневых индексов, ни списков слов). Главный индекс образуется в результате главного слияния.
Главное слияние (master merge). Процесс, при котором теневые индексы объединяются с текущим главным индексом в единый главный индекс. В отличие от теневого слияния, главное слияние – обычно, довольно длительный процесс.
Как работает индексирование
Служба индексирования Indexing Services использует фильтры, которые могут читать документы определенных типов, извлекать текст и свойства и передавать информацию в механизм для индексирования. Фильтры, поставляемые в составе Windows 2000. могут индексировать следующие типы документов: тексты, документы HTML, документы Microsoft Office 95 и более поздних версии и документы Internet Mail and News (если установлены службы IIS). Indexing Services может использовать другие фильтры, предлагаемые сторонними поставщиками программного обеспечения. Поставщики фильтров продают их вместе с инструкциями по установке.
После извлечения текста и слов. Indexing Services определяет, на каком языке написан документ и удаляет слова, входящие в список исключений для данного языка. Этот список содержит предлоги, местоимения, артикли и т.д.: файл с этим списком имеет удачное название: Noise, ххх (Шум.ххх), где ххх обозначает язык. На рис. 1 показана часть файла Noise.eng, представляющего собой список исключений для американского английского языка. Вы можете добавлять слова в этот список или исключать их из него при помощи любого текстового редактора, наподобие Блокнота (Notepad).


Слова, оставшиеся после удаления слов, входящих в список исключений, сначала помещаются в список слов в оперативной памяти. По крайней мере один раз в сутки списки слов объединяются во временные (“сохраненные”) индексы, а затем Indexing Services объединяет временные индексы в единый главный индекс. Все это происходит автоматически. хотя при определенных обстоятельствах вам. возможно, потребуется вмешаться и запустить слияние вручную.
Проектирование службы индексирования
При проектировании сайта индексирования сразу возникает вопрос о необходимом объеме дисковой памяти. Минимальный объем диска, отводимый на нужды индексирования, должен составлять не менее 30% от объема собрания документов. лучше бы 40%, а во время главного слияния – до 45% от места, занимаемого на диске самими документами.
В зависимости от фильтров, используемых для индексирования групп документов, фактический размер индексов может быть и меньше этих 30%. Например, если вы напишете фильтр для индек сирования больших документов (допустим, больших файлов с изображениями), то можете ограни чить индексирование первыми несколькими сотними байтов (поскольку вам нужно только лишь извлечь информацию из заголовков), что уменьшит размер места, необходимого для хранения индекса.
ПРИМЕЧАНИЕ. Поскольку большинство операций Indexing Services представляют собой запросы на чтение (поиск в индексах, выдачу результатов, а затем доступ к самим документам), то можно улучшить дисковый ввод-вывод при помощи расслоения дисков (disk striping).
Очень важно предусмотреть будущий рост сайта индексирования. При перемещении документов на диски большего объема с целью преодоления ограничений на доступный объем дисковой памяти возможно появление сбоев до тех пор. пока вы не произведете полное переиндексирова-ние, которое может длиться много часов. При проектировании сайта Indexing Services важно также позаботиться, чтобы компьютер, производящий индексирование, имел побольше оперативной памяти. В табл. 1 показаны минимальные требования к объему оперативной памяти по сравнению с рекомендуемым объемом оперативной памяти, при работе с различными количествами документов. Как обычно, чем больше у компьютера памяти, тем лучше. Когда документов много, скорость индексирования и поисков зависит также от скорости работы центрального процессора.
Слияние индексов
Indexing Services автоматически объединяет списки слов, находящиеся резидентно в памяти. во временные списки, хранящиеся на диске, и один раз в сутки объединяет все временные индексы в главный индекс. Это слияние может (в зависимости от количества временных списков) занимать длительное время и требовать почти всех ресурсов центрального процессора. Во время слияния запросы к службе индексирования замедлятся. а остальные процессы на этом компьютере замедлятся еще сильней. По умолчанию слияния производятся в полночь по местному времени. Если время запуска главного слияния вам не подхо дит, то вы можете поменять его. Слияние можно запустить и вручную, если в индексном каталоге изменилось много документов. Далее будет описано. как выполнять эти две задачи.


Как задать время запуска главного слияния


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

1. Запустите Rcgedit32.ехе или Regedit.exe.
2. Найдите ключ Реестра
HKEY_LOCAL_MACHINE\ SYSTEMX Current-ControlSetX ControlX Contentindex
3. В правой панели окна редактора Реестра дважды щелкните на параметр MasterMergeTime (см. рис. 2).
4. Откроется диалоговое окно DWORD Editor. В поле Data задайте количество минут после полуночи. когда нужно запускать главное слияние. Нс забудьте, что в опциях Radix (“система счисления”) нужно выбрать Decimal (“десятичная”).
5. Нажмите на ОК и закройте редактор Реестра.
ПРИМЕЧАНИЕ. Параметр MasterMergeTime может иметь значение от О до 1439 минут, но если вы введете большее значение, ошибки не будет. По умолчанию используется значение 0. По прошествии указанного количества минут после полуночи Indexing Services запустит главное слияние.
Ручной запуск главного слияния
Если за короткий промежуток времени произо-ш ло изменение большого количества документов. то. возможно, вы захотите выполнить слияние временных индексов, не дожидаясь автоматического запуска главного слияния. Чтобы запустить главное слияние вручную, выполните следующие действия:
1 Откройте ММС-консоль Indexing Services.
2. Нажмите правой кнопкой мыши па нужный индексный каталог, укажите на All Tasks (“все задачи”) в контекстном меню и выберите Merge (“слияние”, рис. 3).
3. Вы увидите просьбу подтвердить свое же
лание осуществить слияние для этого индексного каталога. Нажмите на Yes.
ПРИМЕЧАНИЕ. При индексировании большого количества документов наилучшие результаты будут получаться на мощных компьютерах, имеющих достаточный объем оперативной памяти. Если объем вашей оперативной памяти составляет от 48 МБ и более, a MaxFreshCount имеет значение 5000 или менее то попробуйте увеличить MaxFreshCount до 10 000 или до 15 000 Если приступы дерганья жесткого диска (трешинг) будут случаться слишком часто то с этим можно легко справиться, добавив в компьютер побольше оперативной памяти. Параметр MaxFreshCount тоже хранится в ключе Реестра HKEY_LOCAL_ MACHINEXSYSTEMXCurrentControlSetXControIX Contentindex и его описание будет дано далее в табл. 3.Создание консоли индексирования
Для удобного доступа к службам индексирования. когда этот доступ производится регулярно, вам. в идеальном случае, было бы хорошо создать ММС-консоль со службой Indexing Services. Для этого выполните следующие действия:
Выберите Run в меню кнопки Start. Введите с клавиатуры mmc и нажмите клавишу Enter.
Выберите Add/Remove Snap-in (“добавить/ удалить оснастку”) в меню Сопво1еНажмите на кнопку Add.
В поле Add Standalone Snap-in (“добавить одиночную оснастку”) выберите Indexing Services и нажмите на Add. Нажмите на Close.

Нажмите на ОК. после чего появится ММС-консоль службы индексирования (рис.4).
Службу Indexing Services можно администри ровать также и при помощи Computer Management в меню Administrative Tools. В дереве консоли служба Indexing Services расположена под узлом Services and Applications. В иллюстрациях и примерах, имеющихся далее в этой статье, предполагается использование Indexing Services в ММС-консоли, но вы можете выполнять эти задачи точно также и при помощи Computer Management.
Создание и конфигурирование каталогов
Индексный каталог содержит индексную информацию для некоторого набора каталогов. При установке Indexing Services создает индексный каталог System, который будет использоваться по умолчанию. В нем перечислено содержимое всех локальных дисков и. по умолчанию, всех каталогов и подкаталогов на этих дисках. Если службы 11S установлены, то Indexing Services также создаст веб-каталог, содержащий все файлы IIS.
Вы можете создавать индексный каталоги, добавляя и удаляя их по мере надобности. Вы также можете конфигурировать индексный каталоги, задавая каталоги, которые должны быть включены или исключены и определяя, какие свойства следует хранить.
Создание индексного каталога
Чтобы создать индексный каталог Indexing Services, откройте ММС-консоль со оснасткой Indexing Services и выполните следующие действия:
1. Выделите Indexing Services в дереве консоли.
2. Выберите New в меню Action, а затем выберите Catalog.
3. В диалоговом окне Add Catalog (“добавить индексный каталог”) задайте имя индексного каталога и путь к папке, в которую вы хотите его поместить (рис. 5). Нажмите на ОК.
4 Чтобы служба индексирования увидела новый индексный каталог и смогла бы его индексировать. нужно остановить и снова запустить Indexing Services. Для этого нажмите правой кнопкой мыши на Indexing Services и выберите Stop в контекстном меню. Затем, чтобы снова запустить Indexing Services, опять нажмите правой кнопкой мыши на Indexing Sendees и выберите Start в контекстном меню.
ПРИМЕЧАНИЕ. Нельзя создать индексный каталог на другом компьютере при доступе через сеть, если были удалены используемые по умолчанию разделяемые ресурсы, служащие для адми-н истрирования.


Конфигурирование индексного каталога
Созданный индексный каталог нужно сконфигурировать. Для этого откройте консоль Indexing Services и найдите индексный каталог. Нажмите на него правой кнопкой мыши и выберите Properties. Теперь вы сможете:
Индексировать веб-сервер. Нажмите на вкладку Tracking и в поле WWW Server выберите веб-сервер, который нужно индексировать. Если службы IIS не установлены, то индексирование веб-сервера невозможно.
Индексировать файлы с незнакомыми расширениями. Нажмите на вкладку Generation. Обычно данная настройка наследуется из свойств службы IIS в целом и по умолчанию выключена. Если вы хотите, чтобы индексировались все файлы в индексном каталоге, в том числе и нс соответствующие установленным фильтрам, то снимите флажок Inherit Above Settihgs From Service (“наследовать настройки из службы”). Затем установите флажок рядом с Index Files With Unknown Extensions (“индексировать файлы с незнакомыми расширениями”).
Генерировать отчет. Нажмите на вкладку Generation. Настройка Generate Abstracts, управляющая созданием резюме, наследуется из свойств службы Indexing Services в целом и. по умолчанию, выключена. Чтобы включить эту опцию. вам сначала придется снять флажок Inherit Above Settings From Service. При включенной опции Generate Abstracts служба Indexing Services будет создавать резюме (abstracts) и помещать их в список результатов обработки запроса. Обра ботка запроса при этом замедляется, поэтому не рекомендуется увеличивать используемый по умолчанию размер отчета.
Автоматически добавлять псевдоним сетевого разделяемого ресурса. Нажмите на вкладку Tracking. По умолчанию, эта настройка
наследуется из свойств службы Indexing Services в целом, а там она включена.
За исключением Generate Abstracts, все изменения настроек начнут действовать лишь после остановки и повторного запуска индексирования каталога. Для такого перезапуска нажмите правой кнопкой мыши на индексный каталог, укажите на АП Tasks в контекстном меню и выберите Stop. Затем снова нажмите правой кнопкой мыши на индексный каталог, укажите на AU Tasks в контекстном меню и выберите Start. При изменении настройки Generate Abstracts вам придется остановить и снова запустить службу Indexing Services, чтобы она могла распознать изменение.
Включение и исключение директорий
По умолчанию в индексный каталог System включено все, что имеется на локальных дисках компьютера, кроме временных файлов Интернета и файлов истории. При создании нового индексного каталога вам придется явно добавить в него нужные каталоги и явно исключить каталоги, которые не должны входить в индекс. Для добавления каталогов в индексный каталог выполните следующие действия:
Откройте консоль Indexing Services. Нажмите правой кнопкой мыши на Directories под новым индексным каталогом, укажите на New в контекстном меню и выберите Directory
В диалоговом окне Add Directory задайте путь к каталогу и. если нужно, задайте UNC-путь (Uniform Naming Convention path).
Если нужный каталог находится на другом компьютере, то задайте имя и пароль пользователя. имеющего полномочия доступа к удаленному разделяемому сетевому ресурсу, как показано на рис. 6. Нс забудьте указать имя домена (или имя компьютера для локальной учетной записи пользователя).
Нажмите на ОК. и тогда данный каталог станет частью индексного каталога.


Чтобы изменить настройки каталога, дважды щелкните на нее в панели подробностей (details рапе) консоли Indexing Services, после чего откроется диалоговое окно Add Directory.
Чтобы исключить какой-нибудь каталог, вы должны задать его. Допустим, в индексном каталоге Users Docs имеется каталог Book Files (рис. 7), а в нем – подкаталог Correspondence (“персписка,,) с другого которую нужно исключить из персиндексирования. Для исключения каталогов, выполните следующие действия:
1. Откройте консоль Indexing Services. Нажмите правой кнопкой мыши на Directories под нужным индексным каталогом, укажите на New в контекстном меню и выберите Directory.
2. В диалоговом окне Add Directory задайте путь к исключаемому каталогу и. если нужно, задайте UNC путь. Если каталог находится на другом компьютере, то нужно, как и раньше, задать имя и пароль пользователя. имеющего полномочия доступа к удаленному разделяемому сетевому ресурсу.
3. В области Include in Index выберите.No. Нажмите на ОК.
Каталог появится в индексном каталоге, но в колонке Include in Catalog (“включать в индексный каталог”) будет значение No. Например, на рис. 8 подкаталог INTEL оказался исключенным из индекса.
Индексирование и безопасность


Служба индексирования Indexing Services полностью совместима с организацией безопасности файловой системы NTFS. Если индексный каталог размешен на томе NTFS, то пользователи не увидят документов в списке результатов поиска, если у них нет полномочий на это. Однако при индексировании разделяемого ресурса UNC документы из этого ресурса будут показаны в списке результатов независимо от того, имеет пользователь полномочия на доступ к ним или нет.
Пользователи также смогут увидеть индексный каталог диска FAT независимо от имеющихся у них полномочий. Если доступный через сеть том FAT управляется не операционной системой Microsoft Windows NT или Windows 2000. то компьютеру придется периодически сканировать этот том с целью поиска изменений.


Можно индексировать и доступные через сеть разделяемые ресурсы операционных систем Novell NetWare и UNIX, но при этом проверка для обеспечения безопасности не производится. Тома Novell NetWare должны подвергаться периодическим сканированиям для обнаружения изменений. Зашифрованные документы не индексируются. Если документ подвергнется шифрованию ужепосле того, как он буден учтен в индексе, то он будет удален из индекса.
Конфигурирование кэша свойств
Indexing Services в каждом из индексных каталогов сохраняет некоторые свойства файлов в двухуровневом кэше. Первый уровень кэша содержит небольшое количество значений, доступ к которым производится часто. Во втором уровне содержатся редко используемые значения. Свойства, которые по умолчанию хранятся в каждом из индексных каталогов, перечислены в табл. 2.


Нужно быть осторожным при изменениях этих свойств, помня о следующем:
Добавление свойств в любой из уровней кэширования негативно влияет на производительность работы Indexing Services. Добавление в первый уровень кэширования свойств с переменной длиной увеличивает размер кэша экспоненциально.
После того, как вы добавите значение свойства в любой из уровней кэширования, а затем повторно запустите индексирование, вы уже не сможете изменить уровень для этого свойства.
Не следует думать, что кэширование свойств – это всегда плохо. Например, вам может потребоваться включать в индекс информацию о времени создания файлов или о времени последнего доступа к ним.
Добавление свойства в кэш свойств
Чтобы к свойствам, хранящимся в кэше, добавить новое свойство, выполните следующие действия:
Откройте консоль Indexing Sendees. Нажмите на Properties под нужным индексным каталогом.
В панели подробностей выделите свойство, которое вы хотите добавить.
Выберите Properties в меню Actions, после чего откроется окно свойств для данного свойства.
Чтобы включить данное свойство в кэш свойств, установите флажок Cached (рис. 9). Вы сможете посмотреть и изменить тип данных и размер данного свойства (настройка возможна лишь для свойств с переменной длиной). Можно также задать уровень хранения в кэше, но его нельзя поменять. Рекомендуем принять настройки. действующие по умолчанию. Завершив работу с окном, нажмите на ОК.


Произведенные изменения начнут действовать после остановки и повторного запуска Indexing Services, но новые свойства будут добавлены в кэш свойств лишь для новых документов. Чтобы обновить весь индекс с использованием новых свойств, выполните полное сканирование индекса. как описано ниже. Если вы впоследствии захотите убрать свойств из кэша или изменить его настройки, то нужно будет снять флажок Cached в окне Properties для данного свойства. Чтобы обновить индекс, снова придется произвести его полное сканирование.
Запуск сканирования индекса
При полном сканировании (full scan) индекса происходит полная инвентаризация всех документов в индексном каталоге. Indexing Services автоматически производит полное сканирование при первоначальной установке, при добавлении каталога в индексный каталог и в ходе восстанов ления при возникновении ошибок. Добавочные сканирования (incremental scans) производятся автоматически при запусках Indexing Services, чтобы выявить все документы, которые изменились в период бездействия Indexing Services. Вы можете в любое время выполнить полное или добавочное сканирование при помощи следующих действий:
1. Откройте консоль Indexing Services. В дереве консоли нажмите на нужный индексный каталог. а затем нажмите на Directories.
2. В панели подробностей выделите каталог, который нужно сканировать.
3. Укажите на АП Tasks в меню Actions, а затем выберите Rescan (Full) – полное сканирование или Rescan (Incremental) – добавочное. Подтвердите свое решение, нажав на Yes. и сканирование начнется.

Элементы Реестра для службы Indexing Services
Настройка Indexing Senices управляется элементами системного Реестра. Эти элементы можно редактировать при помощи Regedlt.exe или Regedt32.exe, соблюдая обычные меры предосторожности. т.к. неправильное редактирование Реестра может вызвать проблемы в работе не только Indexing Services, но и всей операционной системы Windows 2000. Если изменения можно выполнить при помощи средств, имеющихся в консоли Indexing Services, то пользуйтесь не редактором Реестра, а консолью. Всегда создавайте резервную копию Реестра перед тем. как приступить к его редактированию.
Элементы Реестра для службы Indexing Services находятся в ключе HKEY_LOCAL_MACHINE \SYSTEM\Current ControlSet\Control\ContentIndex и показаны на рис. 10. Не забудьте, что в программе Regedt32.exe данные отображаются в 16-рич-ном виде. Значение 0x7530 означает 30000 в десятичном виде. Наиболее важные параметры настройки Indexing Services, доступные только при помощи редактирования Реестра, перечислены в табл. 3.


Применение запросов к индексу
Самый простой способ произвести запрос к индексу – это воспользоваться командой Search (“По-иск”) в меню кнопки Start. Укажите на Search, выберите For Files And Folders (“Файлы и папки j и введите имя файла или одно слово, содержащееся в тексте файла, или какое-нибудь известное свойство. В зависимости от количества документов, среди которых производится поиск, при использовании Indexing Services скорость поиска может повыситься очень значительно. Даже для баз данных малого и среднего размера поиск, который без индексирования занимает около 10 секунд, при использовании индексирования произойдет практически мгновенно.
Можно производить запросы и при помощи имеющейся в Indexing Services формы запросов. Форма для запросов откроется при нажатии на каталог Query the Catalog (“запрос к индексному каталогу”) в консоли Indexing Services (рис. 11).


При помощи этой формы запросов вы можете выполнять следующие действия:
искать слова и фразы:
искать слова и фразы, близкие другим словам или фразам:
искать слова и фразы, обладающие некоторыми текстологическими свойствами. Например, можно искать слова, присутствующие в резюме документа:
искать слова и фразы в документах, имеющих определенный формат, например, в электронных таблицах Excel или в презентациях Microsoft Power Point:
применять операции отношения (<. <=. =. =>. > и !=) для сравнения с константами, например такими, как дата или размер файла;
применять логические (Булевы) операции AND. OR и NOT и операцию NEAR (обратите внимание, что логические операции доступны только в английском языке);
использовать символы подстановки (wildcard characters), такие как • и ?, и регулярные вы ражения для сложных запросов:
ранжировать результаты по соответствию запросу.
Служба indexing Services использует три типа файлов, очень похожих на типы файлов, реализуемых IIS, благодаря чему можно проектировать нестандартные формы запросов, форматировать страницы результатов и скрипты для администрирования Это:
файлы запросов данных Интернета: файлы с расширениями HTML;
файлы администрирования индексных данных.
Создание форм запросов
Благодаря формам запросов удобно искать слово или фразу во всей совокупности документов. Пользователь просто вводит слово или фразу, и все документы, содержащие их, поступят в список результатов поиска.


При помощи Indexing Services администратор веб-сервера может создавать нестандартные формы. помогающие сотрудникам фирмы и другим клиентам находить нужную информацию в совокупностях документов. Можно создать специальную форму для поиска определенного слова или фразы (например, “systems management”) или некоторых свойств (например, автора или темы). Форму запроса можно создавать в стандартном формате HTML, точно так же. как вы создаете обычную веб страницу. Если вы умеете создавать страницы в формате HTML, то сможете быстро создать простую форму запросов на основе следующего примера:
<FORM ACTION-7 scrlpts/querydemo.idq?”
METHOD=”POST>
Итак, какой у вас вопрос?:

<1NPUTTYPE=’SUBMIT’ VALUE=’Ha4aTb поиск>

В строке

задано местоположение файла IDQ (Internet data query, файл запроса данных Интернета), определяющего параметры запроса, такие как охват вашего поиска, ограничения и наборы результатов поиска. Вот пример файла IDQ:
IQueryl
CiColumns=fUename.size. rank, characterization,
vpath. DocTi tie .write
CiFlags=DEEP
CiRestriction=%CiRestriction%
CiMaxRecordsInResultSet= 100
CiMaxRccordsPerPage=25
CiScope=/
CiTemplate=/scripts/bdq. h tx
CiSort=rank[d|
CICatalog=d:\
А вот объяснения для каждой из строк образца .IDQ- файла:
– (Query) – Это признак того, что следующие строки являются спецификацией запроса;
CiColumns=filename. size, rank, characterization, vpath.DocTi tie .write – Определяет вид
информации, возвращаемой в результатах обработки запроса;
CiRags=DEEP Означает, что поиск должен производиться и во всех вложенных подкаталогах. относящихся к заданному охвату (deep означает – глубина);
CiRestriction=%CiRestriction% – Определяет цель поиска, задаваемую в запросе;
CiMaxRecordsInResultSet=100 Определяет максимальное количество найденных результатов (в примере – 100);
CiMaxRecordsPerPage=25 Определяет, сколько результатов поиска должно помещаться на одной странице (в примере – 25);
CiScope=/ – Показывает, откуда нужно начинать поиск. В нашем примере поиск начинается от корня пространства хранения;
CiTemplate=/scripts/bdq.htx – Показывает файл, применяемый для форматирования результатов. В примере – это файл Bdq.htx;
CiSort=rank(d] – Определяет способ сортировки результатов. В примере результаты поиска сортируются по рангу (т.е. по степени соответствия документа запросу) в убывающем порядке (что задается при помощи |d], от слова descending, ‘убывающий”);
CiCatalog=d:\ – Указывает используемый индекс. В примере будет использоваться индекс, хранящийся ed:\.
Дополнительную информацию о создании форм для нестандартных запросов и о других особенностях работы Indexing Services и IIS вы ноже те найти в книге Running Microsoft Internet Information Server 4.0 (авторы Leonid Braginski и Malt Powell, издана Microsoft Press в 1998 году)
Ошибки “Файл не найден”
При исполнении запросов с помощью Indexing Services в результатах поиска могут оказаться до кументы. недавно удаленные с сервера При нажатии на такие ссылки будут возникать ошибки файл не найден” (file not found). Эта проблема возникает. когда вы индексируете, а потом удаляете файлы, имеющие длинные имена. При создании таких файлов Windows 2000 создает короткие имена файлов (в формате ‘8.3″). благодаря чему документы становятся доступными для старых приложений. Когда служба Indexing Services заносит в индексный каталог данные о таких файлах, она хранит информацию и для длинных, и для коротких имен файлов. Однако при удалении файла Indexing Services удаляет лишь информацию для короткого имени файла, поэтому запросы, соответствующие документу из уничтоженного файла. в своих результатах все равно сообщают о том. что документ найден, и выдают длинное имя файла. Длинные имена файлов удаляются обычно при выполнении главного слияния, но оно может произойти недостаточно своевременно, чтобы избежать сообщений об ошибках. Решить эту проблему можно, изменив системный Реестр так. чтобы запретить Windows 2000 создавать короткие име на файлов для работы старых приложений. Для этого откройте редактор Реестра (Regedit32 схс) и найдите HKEY LOCAL MACHINE\SYSTEM\ CurrcntControlSet\ Control’sFlleSystcm. Установите значение 1 для параметра NtfsDlsablc8dot3NameCreation.
Проверка скорости работы службы Indexing Services
Очевидно, что производительность работы Indexing Services зависит и от размеров индексируемых документов, и от ресурсов, имеющихся в распоряжении Indexing Services При количестве индексируемых документов меньше 100 000 не требуется никаких усовершенствований аппарат ной части компьютера или дополнительных настроек. Служба Indexing Services будет работать в фоновом режиме, не требуя никакого обслуживания. Однако, если не наращивать оперативную память, при увеличении количества документов скорость работы Indexing Services понизи гея.
Как настраивать производительность
Indexing Services
Настройка производительности Indexing Services должна соответствовать вашей практике работы с этой службой Модификация аппаратной части компьютера вовсе не обязательна, вместо этого вы можете уменьшит!, количество ресурсов, которые нужно индексировать, уменьшив требо
вания службы индексирования к компьютеру. Кроме того, при необходимости обработки боль шого количества документов можно повысить приоритет службы индексирования на данном компьютере Для настройки производительности indexing Services выполните следующие действия:
1 Откройте консоль Indexing Services. В дере ве консоли нажмите правой кнопкой мыши на Indexing Services и выберите Stop в контекстном меню.
2 Укажите на All Tasks в меню Action и выберите Tune Performance ( настроить производительность”).
3 . В диалоговом окне indexing Services Usage (“использование Indexing Services’)задайте пара метры Indexing Services.
Если вы выберете опцию Customize (“настроить нестандартно”), а затем нажмете на кнопку Customize, то появится диалоговое окно (рис. 12).
Если ползунок Indexing передвинуть на Instant (“мгновенно”), то все новые документы будут индексироваться немедленно. Если же этот ползунок передвинуть на Lazy (“лениво”), то индексирование будет происходит!., когда компьютер не занят другими задачами (индексирование при этом не будет влиять на общую производительность компьютера).
При перемещении ползунка Querying (“обработка запросов ) к положению High Load (“большая нагрузка”) служба настроена на возможность обработки сразу многих запросов, а при его перемещении к положению Low Load ( низкая нагрузка”) предполагается, что одновременно может обрабатываться лишь небольшое количество запро сов.
4 Закончив настройку, два раза нажмите на ОК
Использование монитора производительности (Performance Monitor)
Среди множества счетчиков производительности (performance counters), имеющихся в Windows 2000. имеются несколько счетчиков, которые помогут оценить производительность Indexing Services и Indexing Services Filter. В табл. 4 перс числены эти счетчики и измеряемые ими параметры
Диагностика работы Indexing Services
Здесь мы попытаемся описать типичные сообщения об ошибках Некоторые из проблем, встречающихся при работе Indexing Services. решаются достаточно просто При затруднениях обращай -тесь к http.//support.mlcrosoft.com/search/
Нет документов, соответствующих запросу
После обработки запроса Indexing Services вы вместо списка найденных документов получите сообщение об ошибке “No Documents Matched the Query” (“нет документов, соответствующих запро су”). Эта распространенная ошибка означает, что индексный каталог отвечает правильно, но где-то неправильно заданы настройки. Чтобы найти неверно заданные настройки, попробуйте выполнить по очереди описанные ниже действия, проверяя после каждого, не удалось ли исправить проблему.
Проверьте работу примеров, имеющихся в каталоге \inetpub\issamples\sdk. Возможно, вам следует поменять указатель на индексный каталог. принятый по умолчанию. В IDQ-файле нужно найти строчку, похожую на такую:
CiCatalog=d: \ inetpub\wwwroot \ tmj s_lnd ex
Проверьте, что путь, заданный в этой строчке, указывает на каталог, содержащий каталог Catalog.wet индексного каталога. В файле актив ных серверных страниц (ASP. Active Server Pages) нужно добавить строчку Q.Catalog в следующий фрагмент кода:
set Q = Server. CreateObjectf’lxsso. Query”)
set util = Server. CreateObject(“ixsso. Util”)
О.Са1а1од=‘<имя_индексного_каталога>”
Q. Query = CompSearch
Q.SortBy = ‘rank[d]”
Q.Columns = “DocTitle, vpath, filename, size, write, characterization, rank”
Q.MaxRecords = 300
Замените <имя индексного_каталога> на имя индексного каталога, которое появляется в консоли Indexing Services (кавычки следует сохранить).
– В коде вашей страницы проверьте наличие определенных строк. В файле IDQ должны присутствовать строки:
CiScope = /
CiRestriction = %CiRestrlction% каталог „ Catalog. wci>
|j£fl В файле ASP должны присутствовать строки.
FormScope=/
№ Q Query = compsearch
О. С atalog= <имя_индексного_каталога>” Н Замените <имя_индексного_каталога> на имя индексного каталога, которое появляется в консоли Indexing Services, чтобы выполнялся наиболее широкий поиск с наибольшей вероятностью возврата результатов.
– Откройте Internet Services Manager из папки Administrative Tools меню Programs. Нажмите правой кнопкой мыши на корень веб-сайта и выберите Properties. В странице с вкладкой Home Directory проверьте, установлен ли флажок Index thisresource (“ин-К дексировать данный ресурс”). Затем повторите запрос.
– Служба Indexing Services осуществляет индексирование, имея учетную запись System. Если учетная запись System не ЕВ имеет хотя бы полномочий на чтение файлов, которые должны быть каталогизирова ны, то эти файлы не будут индексировать ся. Проверьте также, имеет ли учетная запись System полномочия Full access для корня диска, на котором физически расположен индексный каталог, и для каталога Catalog, wci.
Пользователям разрешено видеть только те результаты поиска, для которых у них имеются полномочия на просмотр. Если вы осуществляете доступ к странице запроса как анонимный пользователь, то проверьте, что анонимные пользователи имеют хотя бы полномочие Read для документов. среди которых производится поиск.Если это возможно, аутентифицируйте вход в страницу запроса в качестве администратора. Попробуйте установить для каталога, в котором находится страница запроса, только аутентификацию Basic/ClearText. чтобы при попытке соединиться с этой страницей вы получали запрос. Если все получится, то проблема связана с. полномочиями доступа. Если же вы войдете в систему как администратор и все равно будете видеть сообщения “No Documents Matched the Query” ( нет документов, соответствующих запросу”), то проблема не связана с полномочиями доступа.
Если вы делаете запросы на некоторую страницу и ответ на запрос #имя_файла есть, но фильтрация не происходит (резюме пусты) и данная страница является страницей НТМ, HTML или ASP, убедитесь, что в заголовке документа нет ме-татага ROBOTS=NOINDEX. Этот метатаг не препятствует индексированию, но запрещает фильтрацию.
Не индексируются файлы .PDF
Фирма Adobe выпускает фильтр, при помощи которого можно индексировать файлы PDF (Portable Document Format). После установки этого фильтра .PDF-файлы перестали индексироваться после перезапуска Indexing Services или после перезапуска компьютера.
Эта проблема возникает из-за того, что при перезапуске Indexing Services перерегистрируются
все фильтры -.DLL-файлы. Один из этих .DLL-файлов по умолчанию сопоставлен расширению -PDF и поэтому регистрирует сам себя в качестве фильтра для файлов .PDF. Чтобы решить эту проблему. нужно включить фильтр для файлов .PDF в список фильтров- .DLL-файлов. Для этого выполните следующие действия:
1. Запустите редактор Реестра (Regedit32.exe).
2. Найдите в Реестре ключ HKEY_LOCAL_ MACHINE\SYSTEM\CurrentControlSet\Control\ Contentindex
3. В ключ DLLsToRegister добавьте путь к файлу Pdffilt.dll. Этот путь к фильтру .PDF-файлов должен быть добавлен в последний параметр ключа.
4. Закройте редактор Реестра.
В ответ на запрос выдаются неправильные результаты
Когда для обработки запроса вы используете службу Indexing Services и применяете метод сортировки отличный от “по рангу, в убывающем порядке”, то результаты поиска не всегда будут строго соответствовать запросу, причем при последующих запросах вы можете получать другие наборы файлов. Когда максимальное число ответов на запрос ограничено, сортировка по рангу в убывающем порядке является единственным способом получать из индексного каталога результаты, в максимальной степени соответствующие запросам. Сортировка любым методом, кроме как “по рангу, в убывающем порядке”, возвращает лишь часть документов, соответствующих запросу.
Сообщение о повреждении индексного каталога
Если Indexing Services после завершения индексирования сообщает, что индексный каталог поврежден, то это означает, что файл не может фильтроваться и параметр Filter Retries имеет значение больше 4. Такие ошибки могут появиться сразу же после завершения процесса индексирования или спустя несколько минут после этого. При этом информация, передаваемая процессом
фильтра в Indexing Services, инициирует появление сообщения о повреждении информации в индексном каталоге, даже если данные на диске не повреждены. Чтобы решить эту проблему, запустите редактор Реестра (Regedit32.exe) и найдите HKEY_LOCAL_MACHINE\ SYSTEMXCurrentControl Set\Control\ContentIndex\FilterRetries.
Измените значение этого ключа, присвоив ему значение 4 или меньшее, закройте редактор Реестра и перезапустите Indexing Services.
Индексирование происходит медленно и некоторые документы не индексируются
Иногда для индексирования требуется чрезвычайно длительное время, и похоже, что некоторые документы остаются вообще не проиндексированными. В дополнение к этому, резюме документов оказываются пустыми или содержат неверную информацию. Это обычно происходит из-за программного обеспечения сторонних производителей, устанавливающего блокировку на содержимое из Интернета, которое вы пытаетесь проиндексировать, из-за антивирусного программного обеспечения или любого программного обеспечения, осуществляющего слежение за содержимым из Интернета или его сканирование в течение длительного времени. Чтобы разрешить эту проблему, отключите все программное обеспечение, которое может следить за содержимым из Интернета.

Сервисный центр 2003-09

Article Tags:
Article Categories:
Wiki · Windows

Comments are closed.