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


Разработка надстроек обработчиков протоколов

Примечание

Windows Desktop Search 2.x — это устаревшая технология, которая изначально была доступна в качестве надстройки для Windows XP и Windows Server 2003. В более поздних выпусках используйте Windows Search .

Вы можете расширить поиск компьютеров Microsoft Windows (WDS), чтобы включить новые хранилища данных, реализовав пользовательский обработчик протокола.

Индексирование хранилищ данных с помощью обработчиков протоколов

Хранилище данных — это источник содержимого (система базы данных, каталог, файловая система), где данные хранятся и могут быть обходить их с помощью индексатора WDS. Хранилище может быть иерархическим (например, база данных) или ссылок (например, веб-сайт). Обработчик протокола позволяет приложениям индексирования, таким как WDS, систематически сканировать узлы хранилища данных, чтобы извлечь соответствующую информацию для включения в индекс. Каждый обработчик протокола используется для индексирования хранилища данных определенного типа. WDS поставляется с обработчиками протоколов для хранилищ файловой системы, а также для хранилищ данных Microsoft Outlook и Microsoft Outlook Express (почтовые хранилища, ). PST-файлы и т. д.). Например, при индексировании электронной почты Outlook обработчик протокола сканирует все сообщения во всех папках, извлекая сведения из каждого сообщения и вложения. Эти сведения передаются индексатору для включения в каталог WDS.

Часто пользователям требуется выполнять поиск в других хранилищах данных, таких как устаревшие базы данных, хранилища электронной почты или структуры данных, не поддерживаемые службой WDS. Вы можете расширить WDS для обхода нового хранилища данных с помощью или реализации обработчика протокола специально для этого хранилища данных. Сначала необходимо определить, существует ли обработчик протокола для хранилища данных, возможно, для использования с другим приложением, например с SharePoint Services. Если да, вы можете установить этот обработчик протокола в системе. Однако если другой обработчик протокола не существует, необходимо реализовать его. Обработчики протокола WDS используют те же спецификации проектирования, что и SharePoint Services, и часто могут использоваться взаимозаменяемо.

Кроме того, если хранилище данных содержит данные или типы файлов, отличные от одного из типов файлов 200, поддерживаемых службой WDS, необходимо также реализовать фильтр для доступа к содержимому элементов в хранилище и индексирования его содержимого. WDS 2.x использует обработчик протокола и технологию IFilter, используемую SharePoint Services. Если в индексаемой системе уже установлены фильтры для определенного хранилища и типа файлов, WDS использует существующие интерфейсы для индексирования этих данных.

 

Стратегия добавления новых хранилищ данных

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

  1. Создайте и зарегистрируйте обработчик многопоточных протоколов для хранилища данных:

    • ISearchProtocol — этот интерфейс обращается к протоколу и сопоставляет URL-адрес с IUrlAccessor.
    • IUrlAccessor — интерфейс main, используемый для доступа к элементам из источника контента и привязки содержимого к соответствующему фильтру.
    • IProtocolHandlerSite — этот интерфейс используется для запроса и загрузки дополнительных фильтров.
    • IFilter — этот интерфейс возвращает URL-адрес каждого элемента в папке в качестве свойств значений для обработки.

    Примечание

    Минимальная функциональность надстройки, необходимая для возврата результатов поиска из неиерархийного хранилища данных, — это реализация интерфейсов ISearchProtocol и IUrlAccessor.

     

  2. Реализуйте интерфейс ISearchProtocolOptions, чтобы включить настраиваемые параметры обработчика протокола, например предопределенные начальные страницы:

    • ISearchProtocolOptions — этот интерфейс определяет URL-адреса по умолчанию для обработки обработчика протоколов, определяет требования к обработчику протокола и определяет, выполнены ли эти требования в заданной системе.
  3. Расширьте оболочку, чтобы включить элементы пользовательского интерфейса, такие как контекстные меню и значки для конкретных файлов, реализовав следующие интерфейсы:

    • IShellFolder — этот интерфейс, используемый для управления папками, необходим для предоставления интерфейсов IContextMenu и IExtractIcon для URL-адреса в новом хранилище.
    • IPersistFolder — этот интерфейс необходим для указания объекту папки оболочки инициализировать себя.
    • IPersist — этот интерфейс предоставляет идентификатор класса (CLSID) объекта, который может постоянно храниться в системе.
    • IContextMenu — этот интерфейс определяет контекстное меню для элемента, на который указывает URL-адрес.
    • IExtractIcon — этот интерфейс определяет значок, отображаемый для элемента, на который указывает URL-адрес.
  4. Реализуйте механизм уведомления Индексатора об изменениях в хранилище данных:

    • ISearchItemsChangedSink — этот интерфейс позволяет обработчику протокола уведомлять индекс об изменениях в хранилище данных. Это повышает производительность, гарантируя, что индексатор не будет выполнять обход всего хранилища по добавочным индексам.

Reference

Реализация обработчика протокола для WDS

Добавление значков, предварительных просмотров и контекстных меню с помощью расширений оболочки

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

Установка и регистрация обработчиков протоколов