Управление правилами области
Диспетчер области обхода контента (CSM) позволяет определять правила область, которые включают или исключают URL-адреса из область обхода в Windows Search.
CSM позволяет выполнять следующие действия.
- Добавление новых правил область в рабочий набор правил
- Удаление существующих правил область
- Перечисление правил область по умолчанию
- Узнайте, включен ли определенный URL-адрес в область обхода контента или имеет ли он правило родительского или дочернего область.
В этом разделе рассматриваются следующие вопросы.
- Сведения о правилах области
- Перед началом
- Добавление правил области
- Удаление правил области
- Возврат к правилам по умолчанию
- Перечисление правил области
- Правила области трассировки
- Связанные темы
Сведения о правилах области
Правило область — это правило, которое включает или исключает URL-адреса в корневом каталоге поиска для обхода и индексирования. Правила включения приводят к тому, что индексатор включает этот URL-адрес в область scrawl, а правила исключения приводят к тому, что индексатор исключает этот URL-адрес (и его дочерние элементы) из область обхода контента.
Например, предположим, что вы установили новое приложение, файлы данных которого находятся в папке WorkteamA\ProjectFiles на локальном компьютере. Предположим, что требуется индексировать все содержимое папки ProjectFiles, за исключением элементов во вложенной папке Prototypes. В этом случае вам потребуется правило включения для myPH:///C:\WorkteamA\ProjectFiles\ и правило исключения для myPH:///C:\WorkteamA\ProjectFiles\Prototypes\.
Существует три типа правил со следующим порядком приоритета:
- групповая политика правила задаются администраторами и могут переопределять все остальные правила.
- Пользовательские правила задаются пользователями, изменяющими область в пользовательском интерфейсе параметров Поиска Windows. Пользователи или другие приложения могут удалять все правила пользователей и отменить изменения правилам по умолчанию.
- Правила по умолчанию обычно задаются приложением для определения область по умолчанию. Например, правила по умолчанию могут быть заданы при добавлении в систему нового обработчика протокола или контейнера.
Вместе эти типы правил составляют рабочий набор правил , из которого диспетчер области обхода контента (CSM) создает полный список URL-адресов для обхода контента. Хотя правила по умолчанию могут быть переопределены правилами групповой политики и правилами пользователей, они сохраняются в собственном наборе правил по умолчанию, который можно отменить изменения в любое время. Индексатор выполняет обход URL-адресов из рабочего набора правил и добавляет элементы, свойства и содержимое в каталог.
Примечание
Пользователи с доступом к панель управления могут изменять правила с помощью этого интерфейса. Поэтому приложения, предлагающие управление область, всегда должны получать правила непосредственно из CSM, используя методы перечисления, а не полагаться на сохраненную копию правил пользователя.
Правила исключения могут определять URL-адреса шаблонов с подстановочным знаком "*"; например: file:///C:\ProjectA\*\. Правило исключения, используюющее этот шаблон, не позволяет индексатору выполнять обход любых папок в каталоге ProjectA. В более сложном примере предположим, что существует правило включения для file:///C:\ProjectA\ и правило шаблона исключения для file:///C:\ProjectA\*\data\*. В этом случае индексатор будет выполнять обход элементов в:
- C:\ProjectA\
- C:\ProjectA\version1\testfiles\
- C:\ProjectA\version1\temp\data\
Но индексатор не будет выполнять обход элементов в:
- C:\ProjectA\version1\data\
Перед началом
Прежде чем использовать любой из интерфейсов диспетчера области обхода контента, необходимо выполнить следующие предварительные действия.
- Создайте объект CSearchManager и получите его интерфейс ISearchManager .
- Вызовите ISearchManager::GetCatalog для SystemIndex, чтобы получить экземпляр интерфейса ISearchCatalogManager .
- Вызовите ISearchCatalogManager::GetCrawlScopeManager , чтобы получить экземпляр интерфейса ISearchCrawlScopeManager .
После внесения каких-либо изменений в диспетчер области обхода контента необходимо вызвать метод ISearchCrawlScopeManager::SaveAll . Этот метод не принимает параметров и возвращает S_OK при успешном выполнении.
Добавление правил области
Рабочий набор правил для CSM включает правила пользователя и по умолчанию, а также любые правила, принудительные групповой политикой. Пользовательские правила настраиваются пользователями в пользовательском интерфейсе, а правила по умолчанию можно задать с помощью любого из следующих элементов:
- Групповые политики, реализованные системным администратором (они не используют интерфейс ISearchCrawlScopeManager .)
- Установка или обновление приложения, например Windows Search или обработчика протокола
- Приложение установки для добавления нового хранилища данных или контейнера
ISearchCrawlScopeManager предоставляет два метода для добавления новых правил область, как описано в следующей таблице. Пути для правил включения файловой системы должны заканчиваться обратной косой чертой "\" (например, file:///C:\files\), а пути для правил исключения должны заканчиваться звездочкой (например, file:///c:\files\*). Только правила исключения могут содержать URL-адреса шаблонов. Кроме того, мы рекомендуем включать идентификаторы безопасности пользователей (SID) в пути для повышения безопасности. Пути для каждого пользователя являются более безопасными, так как запросы будут выполняться в процессе для каждого пользователя, гарантируя, что один пользователь не сможет видеть элементы, индексированные из папки "Входящие" другого пользователя.
В следующей таблице описаны методы интерфейса ISearchCrawlScopeManager, используемые для добавления новых правил область.
Метод | Описание |
---|---|
AddUserScopeRule | Добавляет правило для URL-адреса, указанного пользователем. Эти правила переопределяют правила по умолчанию. Используйте этот метод, если вы реализовали пользовательский интерфейс, который позволяет пользователям управлять собственными правилами и URL-адресами область. |
AddDefaultScopeRule | Добавляет правило для URL-адреса, указанного другим приложением, например обработчиком протокола. Используйте этот метод, если вы реализовали новый обработчик протокола или добавили новое хранилище данных. Эти правила могут быть переопределены правилами пользователя. |
Каждый метод принимает URL-адрес в индексируемое расположение и флаги, определяющие, следует ли включать или исключать URL-адрес. Параметр fFollowFlags зарезервирован для использования в будущем. При добавлении нового правила область и диспетчер области обхода контента определяет, что правило уже существует (на основе url-адреса или предоставленного шаблона), рабочий набор правил обновляется таким образом, что (1) старое правило заменяется новым правилом и (2) удаляются все пользовательские правила, которые ему противоречат.
Совет: Хотя корень file:// включен по умолчанию в область обхода контента, program Files по умолчанию не индексируется. Поэтому приложения с данными, сохраненными в каталоге Program Files, должны добавить свое расположение в качестве правила по умолчанию.
Заметки о правилах пользователя
Если новое правило пользователя совпадает с существующим правилом по умолчанию, новое правило пользователя переопределяет правило по умолчанию в рабочем наборе правил. Если новое правило пользователя совпадает с существующим, старое пользовательское правило заменяется.
Установка флага fOverrideChildren имеет следующие результаты в рабочем наборе правил:
- Значение TRUE приводит к удалению всех дочерних правил из рабочего набора правил (как пользовательских, так и стандартных).
- Значение FALSE приводит к повторному добавлению в рабочие правила, устанавливающие все правила по умолчанию, которые являются дочерними элементами нового правила пользователя. Если дочернее правило по умолчанию — включение, а новое правило пользователя — исключение, правило по умолчанию меняется на правило пользователя включения.
Удаление правил области
С помощью интерфейса ISearchCrawlScopeManager можно удалить правило область из рабочего набора правил. Этот интерфейс предоставляет следующие два метода удаления правил область.
Метод | Описание |
---|---|
RemoveScopeRule | Удаляет правило пользователя для указанного URL-адреса из рабочего набора правил. Если правило пользователя является дубликатом или переопределяет правило по умолчанию, правило по умолчанию остается в рабочем наборе правил. |
RemoveDefaultScopeRule | Удаляет правило по умолчанию для указанного URL-адреса как из рабочего набора правил, так и из набора правил по умолчанию. После вызова этого метода нельзя отменить изменения к этому правилу по умолчанию с помощью RevertToDefaultScopes. |
Каждый метод принимает URL-адрес и флаг, указывающий, является ли удаляемое правило правилом включения или исключения. Эти методы возвращают ошибку, если не найдено правило с этим URL-адресом и флагом включения или исключения.
Совет: Если вы хотите полностью удалить область из область обхода контента, используйте метод RemoveRoot, который удаляет корень поиска и все связанные правила область. Например, рекомендуется делать это при удалении.
Также можно удалить все пользовательские переопределения корневого каталога поиска и отменить изменения в исходный корень поиска и правила область по умолчанию. Дополнительные сведения см. в следующем разделе.
Примечание
В Windows Vista, если пользователи удаляются с помощью профилей пользователей в панель управления, CSM удаляет все правила и корни, которые включают их идентификатор безопасности, и удаляет их индексированные элементы из каталога. В Windows XP необходимо вручную удалить корни пользователей и правила.
Возврат к правилам по умолчанию
При возврате к правилам по умолчанию удаляются все пользовательские правила для URL-адреса или корневого каталога и восстанавливается все правила по умолчанию в рабочий набор правил. Однако правила, заданные групповой политикой, не удаляются. Метод RevertToDefaultScopes не принимает параметров и возвращает код ошибки, если ему не удается отменить изменения к правилам по умолчанию.
Перечисление правил области
CSM перечисляет правила область с помощью стандартного интерфейса перечислителя в стиле COM IEnumSearchScopeRules . Этот интерфейс можно использовать для перечисления область правил для нескольких целей. Например, может потребоваться отобразить весь рабочий набор правил в пользовательском интерфейсе или определить, находится ли правило или дочерний элемент правила в область обхода контента.
Правила области трассировки
CSM также позволяет определить, включен ли указанный URL-адрес в область обхода контента и имеет ли он родительское или дочернее правило область. Вы также можете узнать, почему URL-адрес включен или исключен из область обхода контента. Эти методы не предназначены для использования с URL-адресами шаблонов.
В следующей таблице описаны методы ISearchCrawlScopeManager, используемые для добавления новых правил область.
Метод | Описание |
---|---|
GetParentScopeVersionId | Возвращает идентификатор версии URL-адреса родительского включения. Этот метод можно использовать, чтобы узнать, изменилось ли родительское область с момента последней проверки. Пример. Если почтовое приложение использует уведомления, управляемые поставщиком, оно может получить версию родительского область перед закрытием и проверка версию снова при открытии. Затем приложение может определить, нужно ли отправлять новый набор уведомлений в индексатор. |
HasChildScopeRule | Возвращает значение TRUE , если указанный URL-адрес имеет дочернее правило (правило, применяющееся к дочернему элементу на любом уровне в иерархии URL-адресов). Пример. Если URL-адрес имеет значение file:///C:\Folder\, этот метод возвращает значение TRUE, если CSM имеет правило область специально для file:///C:\Folder\Subfolder\. |
HasParentScopeRule | Возвращает значение TRUE , если указанный URL-адрес имеет родительское правило (правило, применяющееся к родительскому объекту на любом уровне иерархии URL-адресов). Пример. Если URL-адрес имеет значение file:///C:\Folder\Subfolder, этот метод возвращает значение TRUE, если CSM имеет правило область специально для file:///C:\Folder\. |
IncludedInCrawlScope | Возвращает значение TRUE, если указанный URL-адрес включен в область обхода контента. |
IncludedInCrawlScopeEx | Возвращает значение из перечисления CLUSION_REASON, объясняющее, почему URL-адрес включен в область обхода контента или исключается из него, и возвращает значение TRUE, если URL-адрес включен в область обхода контента. Этот метод помогает выявлять конфликты в рабочем наборе правил. |
Примечание
Методы IncludedInCrawlScope и IncludedInCrawlScopeEx определяют, будет ли выполняться обход URL-адреса исключительно на основе правил в CSM. Могут быть и другие причины, по которым не выполняется обход URL-адреса, например задан бит FANCI (т. е. пользователю запрещено быстрое индексирование в диалоговом окне Свойства папки).)
Если вы считаете, что путь к файлу следует исключить, но он указан как включенный, убедитесь, что правила исключения заканчиваются на "<path>\*". Если вы считаете, что файл или путь к файлу должен быть включен, но это не так, обязательно проверка параметр бита FANCI для файла или пути. Это можно сделать, щелкнув правой кнопкой мыши файл или путь к файлу и выбрав свойства, а затем убедитесь, что установлен флажок Для быстрого поиска разрешить службе индексирования эту папку . Если файл или путь к файлу не помечен для индексирования, они не будут индексированы, даже если они включены в правило включения.
Связанные темы
-
Reference
-
Основные понятия