Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Диспетчер областей обхода (CSM) позволяет добавлять и удалять корни поиска для ваших хранилищ данных в область обхода поиска Windows.
В этом разделе содержатся следующие темы:
- О корне поиска
- Перед началом
- Windows 7: Новый API Crawl Scope Manager
- Добавление корней в диапазон обхода
- удаление корней из области обхода
- Перечисление корней в области поиска
- Связанные темы
Сведения о корнях поиска
Корневой каталог поиска определяет базу пространства имен оболочки, где определенные области могут быть включены или исключены, и обычно является контейнером верхнего уровня в протоколе, который можно перечислить. Он не указывает, какие части этого хранилища должны или не должны индексироваться; он просто сигнализирует о том, что хранилище контента существует и связано с зарегистрированным обработчиком протокола. Синтаксис для идентификации корневого URL-адреса поиска включает протокол, идентификатор безопасности хранилища или пользователя, путь и дополнительный элемент (например, файл). В следующих примерах показаны два вида синтаксиса для корня поиска.
<protocol>://<store or SID>\<path>\[item]
or
<protocol>://<store or SID>/<path>/[item]
За сегментом> протокола <должны следовать два (2) прямых слэша ('/'), если только это не протокол file:, которому требуется три слэша (file:///). Сегмент <сайта или SID> представляет собой либо хранилище содержимого, либо идентификатор безопасности пользователя, если корень поиска предназначен для конкретного пользователя. Сегмент пути <> является набором контейнеров, таких как каталоги или папки, и может включать подстановочный знак *. Элемент сегмента <> является необязательным и может также включать подстановочный знак "*". Если элемент не включен, обязательно завершите сегмент пути косой чертой или индексатор предполагает, что последний подконтейнер является элементом.
Например, предположим, что вы реализовали обработчик протокола (myPH) для обработки файлов типа *.myext для пользовательского приложения. Все эти файлы будут находиться в папке WorkteamA\ProjectFiles на локальном компьютере. Корень поиска для этого может выглядеть следующим образом:
- myPH:///C:\WorkteamA\ProjectFiles\
Предположим, вы планируете включить все .myext-файлы, но ничего другого из этого контейнера в индекс. Основной путь поиска для этого может выглядеть следующим образом:
- myPH:///C:\WorkteamA\ProjectFiles\*.myext.
Шаблоны подстановочных знаков определяют URL-адреса с помощью подстановочного знака "*" и считаются шаблоном, а не URL-адресом, но терминология часто используется взаимозаменяемо. Например, file:///C:\ProjectA\*\data\ будет соответствовать следующим URL-адресам:
- C:\ProjectA\версия 1\data\
- C:\ProjectA\версия 2\data\
Но этот шаблон не будет соответствовать этому URL-адресу:
- C:\ProjectA\версия1\temp\data\
Необходимо создать новые корни поиска для контейнеров, которые еще не находятся в области обхода индексатора. Если путь C:\ParentScope уже включен в область обхода, вам не нужно добавлять новый корневой каталог поиска для C:\ParentScope\ChildScope, если вы не знаете, что дочерняя область была исключена ранее.
Пользовательский интерфейс для настройки параметров поиска Windows отображает корни поиска пользователям, чтобы они могли уточнить правила области для поиска. В рамках процесса установки для пользовательского обработчика протокола, контейнера и /или приложения можно определить область обхода по умолчанию с правилами включения и исключения. Эти правила представлены конечным пользователям в виде локаций. Пользователи могут перемещаться в подкаталогах предопределенного корневого каталога поиска и выбирать те, которые они хотят включить в поиск или очистить те, которые они хотят исключить.
Перед началом работы
Прежде чем использовать любой из интерфейсов диспетчера областей обхода (CSM), необходимо выполнить следующие необходимые действия:
- Создайте объект CrawlSearchManager и получите его интерфейс ISearchManager.
- Вызовите ISearchManager::GetCatalog для получения экземпляра интерфейса ISearchCatalogManager.
- Вызовите ISearchCatalogManager::GetCrawlScopeManager, чтобы получить экземпляр интерфейса ISearchCrawlScopeManager.
После внесения изменений в диспетчер области обхода контента (CSM) необходимо вызвать ISearchCrawlScopeManager::SaveAll. Этот метод не принимает параметров и возвращает S_OK при успешном выполнении.
Windows 7. Новый API диспетчера областей обхода
В Windows 7 и более поздних версийISearchCrawlScopeManager2 расширяет функциональные возможности интерфейса ISearchCrawlScopeManager. Метод ISearchCrawlScopeManager2::GetVersion определяет версию диспетчера областей обхода (CSM), что позволяет клиентам узнать, изменилось ли состояние CSM. ISearchCrawlScopeManager2::GetVersion не приводит к межпроцессному вызову. Если функция выполняется успешно, то возвращаемый указатель остается допустимым до тех пор, пока клиент не вызовет UnmapViewOfFile для указателя и CloseHandle для возвращенного дескриптора.
Добавление корней в область обхода
ISearchCrawlScopeManager сообщает поисковой системе о контейнерах для обхода и (или) отслеживания и элементов в этих контейнерах для включения или исключения. Чтобы добавить новый корневой каталог поиска, создайте экземпляр объекта ISearchRoot, задайте корневые атрибуты и вызовите ISearchCrawlScopeManager::AddRoot и передайте указатель на объект ISearchRoot. Корневой URL поиска принимает ту же форму, что и поисковый корень, описанный ранее.
В следующей таблице описаны методы put, соответствующие для ISearchRoot; другие методы put интерфейса в настоящее время не используются поисковой системой Windows. Мы рекомендуем включить идентификаторы безопасности пользователей (SIDs) во все корневые каталоги для повышения безопасности. Учетные записи пользователей более безопасны, так как запросы выполняются в процессе, отдельном для каждого пользователя, гарантируя, что один пользователь не может видеть индексированные элементы, например, из папки "Входящие" другого пользователя.
Метод | Описание |
---|---|
установить_ОбеспечениеУведомлений | Установите значение TRUE, если обработчик протокола или другое приложение уведомит поисковую систему об изменениях URL-адресов в корневом каталоге поиска. Уведомление указывает, что URL-адреса нуждаются в переиндексации. |
put_RootURL | Задает корневой URL-адрес текущего поиска. URL-адрес принимает корневую форму поиска, описанную ранее. |
По умолчанию индексатор не выполняет обход области при добавлении корневого каталога поиска. Кроме того, необходимо добавить правило включения для корневого элемента. Если вы хотите добавить пользовательский корневой каталог для приложения, это приложение должно добавлять соответствующие каталоги для новых пользователей при запуске.
Чтобы добавить соответствующие корни для новых пользователей, выполните следующие действия.
- Получите идентификатор безопасности пользователя.
- Перечислите все корни, чтобы проверить, существует ли какой-либо корень для этого SID (идентификатора безопасности).
- При необходимости добавьте новый корневой элемент с помощью SID.
Удаление корней из области обхода
Вы можете использовать ISearchCrawlScopeManager, чтобы удалить корень из области обхода, если вы больше не хотите индексировать этот URL-адрес. При удалении корня также удаляются все правила области для этого URL-адреса. Например, предположим, что вы хотите удалить хранилище содержимого и (или) его обработчик протокола из системы. Вы можете удалить приложение, удалить все данные, а затем удалить корневой каталог поиска из области обхода, и диспетчер области обхода удалит корневой каталог и все связанные с ним правила области.
Чтобы удалить существующий корневой каталог поиска, вызовите ISearchCrawlScopeManager::RemoveRoot с корнем поиска, который требуется удалить. Корневой URL-адрес поиска принимает ту же форму, что и корень поиска, описанный ранее. Этот метод возвращает S_FALSE, если корень не найден, и код ошибки, если возникла ошибка при удалении обнаруженного корня.
При удалении корневого каталога поиска также удаляется URL-адрес из пользовательского интерфейса для параметров поиска Windows, поэтому пользователи не смогут повторно добавить этот контейнер или расположение с помощью пользовательского интерфейса. Кроме того, можно удалить все пользовательские переопределения корневого объекта поиска и вернуться к исходным правилам корневого поиска и правилам области. Дополнительную информацию см. в разделе Управление правилами области.
Заметка
В Windows Vista, если пользователи удаляются через "Профили пользователей" в Панели управления, CSM удаляет все правила и корни, связанные с их идентификаторами безопасности (SID), а также удаляет индексированные элементы из каталога. В Windows XP необходимо вручную удалить корни и правила пользователей.
Перечисление корней в области обхода
CSM перечисляет корни поиска с помощью стандартного интерфейса перечислителя в стиле COM, IEnumSearchRoots. Этот интерфейс можно использовать для перечисления корней поиска для ряда целей. Например, может потребоваться отобразить всю сферу сканирования в пользовательском интерфейсе или определить, находится ли определенный корень или его дочерний элемент уже в сфере сканирования.
Связанные разделы
-
Справочник
-
Концептуальный