Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Этот раздел организован следующим образом:
- Обзор процесса уведомлений
- Обходов
- уведомленияIndexer-Managed
- уведомленияProvider-Managed
- Уведомления в наборах строк
- Сопутствующие темы
Обзор процесса уведомлений
Существует три подхода, с помощью которых можно индексировать данные из хранилища данных:
- Обходов
- Уведомления, управляемые индексатором
- Уведомления, управляемые поставщиком
Преимущества каждого подхода описаны в следующих разделах.
Обходов
Источники с поддержкой уведомлений выполняют добавочный обход при запуске, а затем полагаются на уведомления или явную команду для повторного обхода. Это происходит автоматически в Windows Vista и более поздних версиях. В операционных системах до Windows Vista необходимо настроить запланированное событие в планировщике задач , который вызывает код для запуска обхода начальной страницы. Вам не нужно реализовывать какие-либо уведомления. В фоновом процессе индексатор проходит по своей области обхода, ищет изменения и обновляет каталог. Этот параметр рекомендуется для почти всех ситуаций.
Уведомления, управляемые индексатором
С помощью уведомлений, управляемых индексатором, вы реализуете стратегию уведомлений, которая уведомляет индексатора об изменении данных в хранилище данных, а индексатор управляет отслеживанием уведомлений и индексированием данных. В этой ситуации компонент (который будет вызывать поставщик уведомлений) отслеживает хранилище данных, собирает сведения об изменениях в хранилище, а затем периодически уведомляет индексатор со списком элементов, которым требуется индексация. Индексатор отвечает за восстановление и разрешение уведомлений в случае сбоя. Этот параметр, который можно считать стратегией "отправить и забыть", уменьшает частоту обхода индексатора.
Уведомления, управляемые поставщиком
С помощью уведомлений, управляемых поставщиком, вы реализуете стратегию уведомлений, аналогичную второму подходу, за исключением того, что поставщик уведомлений должен отслеживать уведомления и отвечает за восстановление и разрешение уведомлений в случае сбоя. В этом случае поставщик уведомлений отслеживает хранилище данных, собирает и сохраняет сведения об изменениях в хранилище, периодически уведомляет индексатор со списком элементов, требующих индексации, получает обновления состояния от индексатора и повторно отправляет уведомления в случае сбоя.
Замечание
Этот параметр не рекомендуется, если вы не ожидаете добавочного обхода хранилища данных существенно препятствовать производительности, и вам требуется детальный контроль над состоянием индексирования или их анализ.
Уведомления о наборах строк
В Windows 7 и более поздних версиях индексирование позволяет поставщикам получать уведомления о своих наборах строк. Поставщики, использующие события индексирования, могут поддерживать свои наборы строк таким образом, чтобы он напоминал поведение фактических расположений файловой системы. Библиотеки и поиски являются основными примерами расположений, отличных от файловой системы в Windows 7. События индексатора — это представления библиотеки, так как уведомления относятся к представлениям файловой папки. Интерфейс IRowsetEvents должен быть реализован для получения уведомлений о событиях. Уровень данных является основным клиентом событий индексатора и решает, что делать с событиями в пользовательском интерфейсе представления элементов. Дополнительные сведения см. в разделе "Индексирование приоритетов" и "События набора строк" в Windows 7.
Напротив, в Windows Vista представления на основе запросов не имеют связанного события, за исключением кэша оболочки для редактирования свойств файлов. При выполнении поиска возвращаемые результаты являются статическими. Таким образом, если в систему добавляется другой документ, соответствующий вашему поисковому термину, представление не обновляется, чтобы включить новое дополнение. Это поведение является стандартным для статических веб-результатов. Однако статические результаты становятся менее приемлемыми при попытке предоставить представление на основе запросов по расположению хранилища. Пользователи ожидают, что содержимое от индексатора является текущим. Дополнительные сведения см. в разделе "Уведомление об индексе изменений". Справочная документация см. в разделе "Интерфейсы уведомлений".
Связанные темы