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


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

Заметка

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

Вы можете расширить возможности Microsoft Windows Desktop Search (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. Если у вас уже есть фильтры для определенного хранилища и типа файлов, установленных в системе индексации, WDS использует существующие интерфейсы для индексирования этих данных.

 

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

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

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

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

    Заметка

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

     

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

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

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

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

Справочник

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

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

уведомление индекса изменений

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