Федеративный поиск в Windows 7

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

clip_image001

Преимущества интеграции внешнего источника данных в Windows Explorer состоит в том, что пользователи могут получить информацию через знакомый пользовательский интерфейс Windows Explorer. Пользователи смогут видеть файлы из удаленного источника данных так, будто они размещены локально, включая значки приложений и контекстные меню. У них есть возможность предварительно просмотреть документы или веб-страницы, видеть эскизы изображений, перетаскивать файлы непосредственно на рабочий стол или в электронную почту. Обратите внимание на приведенное изображение: файлы с www.flickr.com отображаются с указанием размера, названия, тэга, даты создания и так далее.

В этой статье, основанной на руководстве по разработке поставщиков федеративного поиска в Windows 7, вы узнаете, что такое федеративный поиск и как он работает. Если вам действительно интересно, как использовать федеративный поиск или создать собственный поставщик, рекомендуем прочитать данное руководство.

Как это работает?

Windows 7 поддерживает подключение внешних источников данных к клиентской версии Windows через протокол OpenSearch. Стандарт OpenSearch v1.1 определяет простые форматы файла, которые могут быть использованы для описания запросов к веб-службе и формата, в котором веб-служба должна сформировать результаты, которые будут возвращены клиенту. По существу это означает, что вы можете указать Windows Explorer на внешний источник данных. Используя стандартный протокол OpenSearch, Windows Explorer направляет поисковый запрос, а удаленный источник данных возвращает грамотно сформированную структуру данных, которая может быть обработана и представлена пользователю.

Чтобы добавить нового поставщика OpenSearch, вы должны установить файл Search Connector Description (файл с расширением .osdx). Внутренний формат файла для .osdx – это OpenSearch Description XML. Вот содержимое .osdx-файла для поиска по Flickr:

 <?xml version=«1.0» encoding=«UTF-8»?>

<OpenSearchDescription xmlns=«https://a9.com/-/spec/opensearch/1.1/"

xmlns:ms-ose=«https://schemas.microsoft.com/opensearchext/2009/">

<ShortName>Flickr Search</ShortName>

<Description>OpenSearch for Flickr via Windows 7 Search Federation.</Description>

<Url type=«text/html»

template=«https://www.flickr.com/search/?w=all&amp;amp;q={searchTerms}&amp;amp;m=text»/>

</OpenSearchDescription>

Обратите внимание, насколько прост файл. Он включает URL к поиску Flickr, который определяет условия поиска. За дополнительной информацией обращайтесь к спецификации стандарта OpenSearch v1.1. Те из вас, у кого зоркий глаз и хорошая память, могли подумать, что вышеупомянутый XML очень похож на поставщик поиска в Internet Explorer 8 (IE8) – небольшое окно поиска в верхнем правом углу IE8, позволяющее выбрать контекст, в котором выполняется поиск. Это довольно интересная тема, поэтому в будущем вы вправе ожидать статью о том, как преобразовать поставщик поиска в IE8 в поставщик федеративного поиска для Windows 7.

У конечных пользователей есть несколько вариантов установки нового удаленного источника данных с федеративным поиском Windows: они могут открыть .osdx-файл, нажимая на одну из ссылок на веб-сайте, открыть один из предоставленных кем-то в совместно используемый ресурс или через почтовое вложение. После этого в папке «Searches» в Windows (%userprofile %/Searches) создается файл .searchconnector-ms, при этом ярлык на него помещается в папку «Links» (%userprofile %/Links). Этот ярлык отображается в разделе избранного навигационной панели Windows Explorer.

Коммуникация между Windows Explorer и веб-службой OpenSearch осуществляется через уровень данных Windows, который может взаимодействовать с различными типами источников данных через так называемые поставщики хранилища Windows (в оригинале Windows Store Providers). Каждый поставщик специализируется на коммуникации с источниками данных, которые поддерживают определенный протокол и имеют специфические возможности. Поставщик OpenSearch взаимодействует с хранилищами данных, у которых есть веб-служба, поддерживающая стандарт OpenSearch.

clip_image002

Приступаем к практике. Загрузите поисковый коннектор для поиска на Flickr. Вам будет предложено сохранить или открыть файл. Выберите второй вариант для регистрации поставщика поиска на своем компьютере. Затем вам будет предложено добавить поисковый коннектор. Подтвердите свое намерение, нажав на кнопку «Добавить», как показано на следующем изображении:

clip_image003

Обратите внимание, что в навигационную панель Windows Explorer в раздел избранного добавлен новый ярлык под названием Flickr Search. Нажмите на этот ярлык и введите в окне поиска Windows Explorer запрос «Seattle». Подождите несколько секунд, поскольку результаты передаются с веб-сайта Flickr.

По мере ввода поискового запроса в поле для поиска вверху Windows Explorer запрос передается к поставщику OpenSearch (описанному в файле .searchconnector-ms), который затем пересылает запрос удаленному хранилищу данных (URL, в котором содержатся условия поиска в .osdx-файле). Удаленная веб-служба отвечает на запрос с результатами в XML-файле либо через RSS, либо через Atom. Провайдер OpenSearch преобразует элементы XML-файла в элементы, которые, в конечном счете, возвращаются в Windows Explorer, где они отображаются пользователю. Следующее изображение иллюстрирует поток данных:

clip_image004

Для подключения хранилища данных веб-службы к Windows 7 требуется всего три шага:

  1. Разрешить поиск в хранилище данных прямо из Windows, используя OpenSearch с выводом в виде Atom или RSS.
  2. Создать .osdx-файлы, описывающие процедуру подключения к веб-службе и то, как размечать любые выбранные элементы в RSS или Atom XML.
  3. Установить поисковые коннекторы на клиентских машинах с Windows с помощью .osdx-файлов.

Протокол OpenSearch обеспечивает массу способов для настройки вывода результатов поиска в Windows Explorer. Например, вы можете:

  • Создать шаблон для начальных запросов
  • Установить максимальное число результатов и создать страницы
  • Настроить отображение результатов
  • Привязать свойства к системе свойств Windows Explorer
  • Генерировать подсказки

На самом деле, есть многое, что следует знать о создании собственных поставщиков поиска OpenSearch. Если вам интересна эта тема, ознакомьтесь с руководством по разработке поставщика федеративного поиска в Windows 7 и посмотрите вебкаст о федеративном поиске, созданный Сашей Голдштейном (Sasha Goldstein), одним из авторов книги Введение в Windows 7 для разработчиков.