Поделиться через


Процесс уведомлений в Windows Search

Эта тема организована следующим образом:

Обзор процесса уведомлений

Существует три подхода, с помощью которых можно индексировать данные из хранилища данных:

  • Операции сканирования
  • Уведомления, управляемые индексатором
  • Уведомления, управляемые поставщиком

Преимущества каждого подхода описаны в следующих разделах.

Операции сканирования

Источники с поддержкой уведомлений выполняют добавочный обход контента при запуске, а затем полагаются на уведомления или явную команду для повторного обхода контента. Это происходит автоматически в Windows Vista и более поздних версиях. В операционных системах, предшествующих Windows Vista, необходимо настроить запланированное событие в планировщике задач , которое вызывает код для запуска обхода начальных страниц. Вам не нужно реализовывать какие-либо формы уведомлений. В качестве фонового процесса индексатор просматривает область обхода контента, ищет изменения и обновляет каталог. Этот вариант рекомендуется использовать практически во всех ситуациях.

Уведомления Indexer-Managed

С помощью уведомлений, управляемых индексатором, вы реализуете стратегию уведомлений, которая уведомляет индексатор об изменении данных в хранилище данных, а индексатор управляет отслеживанием уведомлений и индексированием данных. В этом случае компонент (который будет называться поставщиком уведомлений) отслеживает хранилище данных, собирает сведения об изменениях в хранилище, а затем периодически уведомляет индексатор со списком элементов, которым требуется индексация. Индексатор отвечает за восстановление и разрешение уведомлений в случае сбоя. Этот параметр, который можно считать стратегией "отправить и забыть", уменьшает частоту обхода индексатора.

Уведомления Provider-Managed

При использовании уведомлений, управляемых поставщиком, вы реализуете стратегию уведомлений, аналогичную второму подходу, за исключением того, что поставщик уведомлений должен отслеживать уведомления и отвечает за восстановление и разрешение уведомлений в случае сбоя. В этом случае поставщик уведомлений отслеживает хранилище данных, собирает и хранит сведения об изменениях в хранилище, периодически уведомляет индексатор со списком элементов, которые нуждаются в индексировании, получает обновления состояния от индексатора и повторно отправляет уведомления в случае сбоя.

Примечание

Этот вариант не рекомендуется, если вы не ожидаете, что добавочные обходы хранилища данных значительно усложнят производительность, а также требуется детальный контроль или анализ состояния индексирования.

 

Уведомления о наборах строк

В Windows 7 и более поздних версиях индексирование событий позволяет поставщикам получать уведомления о наборах строк. Поставщики, использующие индексирование событий, могут поддерживать свои наборы строк таким образом, чтобы это было похоже на поведение фактических расположений файловой системы. Библиотеки и поисковые запросы являются основными примерами расположений, не относящихся к файловой системе, в Windows 7. События индексатора предназначены для представлений библиотеки, а уведомления — для представлений файловых папок. Интерфейс IRowsetEvents должен быть реализован для получения уведомлений о событиях. Уровень данных является основным клиентом событий индексатора и решает, что делать с событиями в пользовательском интерфейсе представления элементов. Дополнительные сведения см. в разделе Индексирование приоритетов и события набора строк в Windows 7.

В Отличие от этого, в Windows Vista представления на основе запросов не имеют связанных событий, за исключением кэша оболочки для редактирования свойств файла. При выполнении поиска возвращаемые результаты будут статическими. Таким образом, если в систему добавляется другой документ, соответствующий условию поиска, представление не обновляется для включения нового добавления. Это стандартное поведение для статических веб-результатов. Однако статические результаты менее приемлемы при попытке предоставить представление на основе запросов в расположении хранилища. Пользователи ожидают, что содержимое индексатора является текущим. Дополнительные сведения см. в разделе Уведомление индекса изменений. Справочную документацию см. в разделе Интерфейсы уведомлений.

Индексирование, запросы и уведомления в Windows Search

Что входит в индекс

Процесс индексирования в Windows Search

Процесс запроса в Windows Search

Требования к форматированию URL-адресов